Is WPMU with BuddyPress and Membership plugin the best option? how to fix?

I joined wpmudev and am working to set up a wordpress multisite that will do the following:

-Allow invited members to create a blog

-Blog will have common pages to allow consistency between members. Example: a ‘what I like’ page and a ‘what I need’ page. The idea is to foster collaborations between similarly minded groups

-Allow members to have subscribers to their blog (paid or unpaid)

-allow content from member’s blogs to display on our main site

-allow features to be turned on and off based on the subscriber’s level.

-allow communications between ‘users’ or subscribers of individual blogs within the WPMU as well as communications with users from other blogs under our same domain

-Limit access to the ability to post comments, etc to those who are users on any of the sites under our domain to help eliminate spam

I started with WPMU and Buddypress and I have been going through the setup. I can now add ‘sub’ blogs (xxx.mycompany.com), but there seems to be overlapping functions within BP and WPMU. For example, a blog can be added by the wp-admin or by the BP dropdown. Is this creating the exact same thing in the same database, or is it different?

I have added the membership plugin and have been going over the instructions at https://premium.wpmudev.org/project/membership/installation/. However it seems like some thing are not as presented in the instructions-as if it hasn’t kept up with the new features and ways the plugin uses.

So, my questions are:

1. To meet the needs above, what is the best minimal setup I should use? WPMU obviously, but should I use BuddyPress as well? Should I use membership plugin? what else?

2. How does BP and WPMU work together? It looks like you can add a sub-blog in either. Are blogs added by each the same?

3. I would like to create a template setup for new users under our domain in order to get consistency in layout so members from any sub-site can quickly find info in another. Where should I look to find out how to do this? I was thinking that modifying a template may be the best way and making this template available over the entire site. Is this the best method an if so what do I need to do to get up to speed on this the quickest?

4. Ideally this will be a referral only site where existing members bring in new ones based on the topic. Similar to what facebook and google did to start. Are there any plugins or methods that would help me in this direction?