Pluggable backends for sync, v1 AND Pluggable backends for auth, v1

Summary:
Pluggable backends for sync, v1

The pluggable backends for the sync service, it works as expected but is called v1 for three reasons:
1. I'd like to convert a few absolute imports to relative imports (marked by a corresponding TODO in the code)
2. I'd like to look into a better way to identify the provider (I currently use a module attribute)
3. It hasn't been reviewed by you yet =)

Pluggable backends for auth, v1

Auth abstracted out + the pluggable backends for auth, it works as expected too but is called v1 for these reasons:
1. As above: I'd like to convert a few absolute imports to relative imports and I'd like to look into a better way to identify the provider
2. I'd like to double-check that I'm using class methods correctly and that it's okay.
3. I'd like to look into implementing a better way to populate the auth_cls_for dict.

Test Plan: Not required.

Reviewers: spang

Reviewed By: spang

CC: emfree

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