'Create a new team and return it.
This only works if the authenticated user owns this organization.
:param str name: (required), name to be given to the team
:param list repo_names: (optional) repositories, e.g.
[\'github/dotfiles\']
:param str permission: (optional), options:
- ``pull`` -- (default) members can not push or administer
repositories accessible by this team
- ``push`` -- members can push and pull but not administer
repositories accessible by this team
- ``admin`` -- members can push, pull and administer
repositories accessible by this team
:returns: :class:`Team <Team>`'

@requires_auth
def create_team(self, name, repo_names=[], permission=u''):

    data = {u'name': name, u'repo_names': repo_names, u'permission': permission}
    url = self._build_url(u'teams', base_url=self._api)
    json = self._json(self._post(url, data), 201)
    return self._instance_or_null(Team, json)
