Add initial support for paginators for Hosting Service requests.

We have functions in HostingService subclasses that need to deal with
paginated data. Right now, they're all handling it in their own ways,
but as we move to wrapping more of these in the web API, it's helpful to
standardize them.

This introduces a set of paginators that can be used and subclassed by
the more specific HostingServices to provide a standardized API for
pagination of data.

APIPaginator is designed to perform API requests and handle pagination
through links returned through the payload or headers in some form.
Subclasses are expected to define how API requests are made and parsed.

ProxyPaginator attaches to another paginator (typically an APIPaginator)
and transforms the results. This allows, for instance, a
HostingServiceClient to return an APIPaginator with raw results, and a
HostingService to wrap it and return structured data derived from those
raw results.

Reviewed at https://reviews.reviewboard.org/r/5885/
Move trophies into the database.

Traditionally, when a trophy was awarded, it was just computed in an ad-hoc
manner every time the review request was displayed. This was fine for a basic
implementation, but made it impossible to do things like list all the trophies
that a user had been awarded, or extend the system with new trophy types.

This change lays the foundation for those features by creating a Trophy model,
an extensible set of trophy types, and the code to migrate old review requests
to this new system.

This is based on Behzad's change at /r/4857/. The only real changes I've made
were to clean up the rendering (through use of format_html and piggybacking
on the djblets_deco box template), include the image dimensions in the trophy
type definition, and make it work with users who don't specify their full name.
I've reproduced all of his original testing as well.

Testing Done:
* All unit tests pass.
* Checked with review requests 1000, 1001, and 3 and trophies were displayed
  correctly (or not at all).
* Also tested with a new database, filled with the fill-database script.
* Tested with review request ID's 1000, 10000, 1001, 2222, and 3. Appropriate
  trophies (or none at all) were awarded. The trophies' existence in the database
  was manually confirmed.

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