Dark Crystal: Inject social backup eager singletons when Briar core is created
This branch separates the social backup code into two modules: SocialBackupModule, which contains the platform-independent parts, and AndroidDarkCrystalModule, which contains the Dark Crystal implementation for Android. DefaultDarkCrystalModule provides a fake implementation for integration tests. This allows the eager singletons to be initialised when the Briar core is created, so all the hooks get wired up at the expected time.