Allow add_groups_to_blog method to pass in dictionaries with name and role, in order to allow some groups to be one permission level and others to be different.  Add an "active" column to external mappings plugin to facilitate dissociating a blog from a course while keeping logic used to determine next blog number in sequence to be simple.
Make function that retrieves groups associated with a blog use get_col since we just care about the group names.  Expose this function via a filter.  Add xmlrpc function that takes a user and a list of blogs (objects containing a blog_id or actual blog ids) and returns a narrowed down list of those blogs based on whether the user would be able to access them - i.e., they're a member, blog is public, or groups intersect.
Rename external mapping plugin to be external resource links - we may want to add urls to the external resource in the future and the name reads better anyway.  Update available actions to create, delete, and get.  Don't use option hooks since a blog can be associated with more than one course and using a single option doesn't cut it - even if multiple options were used it's easier to refer back to the table.  Expose link and unlink methods through xmlrpc - the link method takes a set of groups that it adds to the blog as well.
Migrate php::fpm setup to a separate qa environment YAML and simplify the "local" development module to use an apache mod for php.  Fix name of external resource links plugin.
Check in "original" version of subscribe2 plugin without any mods that we're going to make to it.  will at least provide a basis for changes we make.  For pin authenticated user creation, call method directly instead of using apply_filters.
Update README with some more info on initial login steps.  Check in mods to subscribe2 plugin.
Merge branch 'develop' into staging