Tighten up some of the interdiff file mapping logic.

We have a long-standing bug where, sometimes, an interdiff will have
problems when there's a file changed in one revision of a diff and then
reverted in another. While it's supposed to show that file as reverted,
this didn't always happen.

We determine that a file should be shown as reverted if we store the
force_interdiff flag for that file (which is based on there being an
interdiffset object). We seem to do that pretty reliably, yet it
sometimes screws up anyway.

The only thing I can think of is that we were comparing against None
incorrectly. Perhaps in some weird corner case, the comparison was
providing the incorrect result. Now, we use "is not" instead of "!=" for
this comparison.

I've also changed the logic to use generators where possible. Should
be more efficient (though barely).
Update our "Use post-review" to "Use RBTools."

This updates the text and link to point to RBTools, and rewords the text
a bit.
Add support for self-hosted hosting services.

Now, hosting services an be marked as "self-hosted," which will cause a
"Domain" field to show up for the service above the account entry. Many
of the functions now take a domain.

Accounts now take a domain as well, and we filter registered accounts by
the domain.

Bug trackers have the same sort of setup as well.

GitHub's had a few more changes added to it for cleanup to use the
hosting URL and to not duplicate so much code.

Unit tests were added for all of this.
Merge branch 'release-1.7.x'