Clean up and Reorganize

Let's clean up some of the cruft from Akavache 2.x. Specifically:

* Fix the internal registration mechanism to be like ReactiveUI 5.x, which means it's testable and not nearly as dependent on global variables.
* Move a lot of the code that used to be in Akavache_PLATFORM.dll and move it to the Interfaces DLL (which will soon become the Core DLL).
* Remove a lot of hoop-jumping that we had to do in Akavache 2.x around the PLib stuff because RxUI 4.x wasn't PLibby.

## TODO:
- [x] Fix all of the removed / broken stuff
- [x] Decide on how to handle the `IObjectCreator` stuff - do we go HAM on requiring RxUI's DependencyResolver?
- [x] Write proper registrations for all of the libraries
- [x] Write some tests around initialization to make sure things we expect are there get loaded.
- [x] Rename Akavache.Interfaces to something more apropos