organization team management v2

This adds further enhancements to team management for `lita-github`. This adds the ability to add and remove teams from an organization. Unfortunately, this doesn't allow you to add members to the teams...

New commands:

* `!gh org team add PagerDuty name:"New Team" perms:push`
  * the `name` field is just a string, if it has a space you need to use either single or double quotes around it
  * the `perms` field is one of three: `pull`, `push`, `admin` -- which ones are allowed can be configured
  * this method is disabled in the conf by default, can be enabled with `org_team_add_enabled = true`
* `!gh org team rm PagerDuty <TEAM_SLUG|TEAM_ID>`
  * remove the team using either its ID or its slug
  * this method is disabled by default in the config, can be enabled with `org_team_rm_enabled = true`

This also saw some new Mixin modules be created, and some other non-mixins become mixins for reusability

This also adds a new extended option regex which instead of just allowing these options:

`key:value key2:value key3:value`

Youc can now have:

`key:value key2:"Some awesome value" key3:'Another value here'`