Split batch creation of teams from general adding to a team

`create_teams` was doing too much: it was handing creation of teams as

1. Creating teams for groups of students (e.g. for group projects)
2. Creating one team per student for individual assignments
3. Adding instructors to the Owners team

This PR splits 1+2 from 3, and makes 3 more generic, in that it can add a list of users to any team.  Also, created an API wrapper to bring the common logic out of the `Action` classes.