Change the return type of get_hosting_services.

get_hosting_services was a generator returning tuples of (id, cls) for
each HostingService. This was to work around not having a way to access
the ID from a HostingService class.

This change fixes this by assigning the ID at registration time to the
class, allowing any consumer of the class to get the ID. This simplifies
get_hosting_services(), and is also needed for the new HostingService
API resource.

Reviewed at https://reviews.reviewboard.org/r/5883/
Add an API resource for hosting services.

This introduces /api/hosting-services/, which provides basic information
on the hosting services supported by Review Board.

The resource does not expose all the information on a HostingService.
Right now, I'm keeping to the basic information, such as the name and
capabilities, until I determine what we're going to want to use for the
new repository configuration UI. This UI may impact how HostingService
itself structures data down the road, so it's not worth baking anything
related to that into the API yet.

This work is loosely based on Olessia's UCOSP work, though many
changes were made to better fit in with other resources, to take
advantage of what WebAPIResource provides, and to make use of the new
LocalDataQuerySet (which greatly reduces the amount of code).

Reviewed at https://reviews.reviewboard.org/r/5882/
Send emails to both users and mailing lists for review groups.

When we initially created review groups, we made the assumption that all groups
would have an associated mailing list. This made a lot of sense when
transitioning from an email based code review system. Shortly after, we made
it so that any review group that didn't have a mailing list would instead send
email directly to all the members. This creates a confusing situation whereby
users are expected to subscribe to mailing lists if they're present but
otherwise get emails.

This change adds an option to review groups to specify whether emails should go
only to the list, or to the list plus every subscriber. The default for this is
to keep the current behavior.

Testing done:
* Tested evolution.
* Verified that with this check-box off, the recipient list for a review
  request assigned to a group with a mailing list contained both the mailing
  list and the group members.

Reviewed at https://reviews.reviewboard.org/r/5828/