Make register_backends() implicit.

Summary:
This should remove bugs where we forget to call register_backends(), and
generally remove a lot of code duplication. Backend modules are loaded
transparently upon importing pluggable modules.

We have to be more careful about circular imports, but that can be
mostly avoided by making sure not to put unrelated code in backend
modules (such as the 'oauth' module being under the 'auth' module tree,
or putting top-level methods in a separate 'base' module without also
having a separate 'backends' tree for pluggable implementations.)

Test Plan: ./runtests, start syncs

Reviewers: emfree

Differential Revision: https://review.inboxapp.com/D224