Yes. You put apps in the etc/master-apps folder on the cluster master then push them to the indexers. They will end up in the etc/slave-apps folders on the indexers.
I find its best to only use the deployment server for pushing to Universal forwarders. You can use it to push apps to search heads, but if you have a search head cluster you should (must) use a "search head deployer". If you don't have a search head cluster then just install apps manually using the UI is easiest for most customers.
Yes. When you get an app from splunkbase read the documentation carefully becuase it will tell you where to put the app.
Yes. Its possible, but rare that you should need to put apps on the cluster master once it is configured.