Ship Akavache 4.0

This branch is the Master branch for tracking all of the stuff that will eventually become Akavache 4.0

## What Needs To Ship

- [x] Garbage collection / cleanup
- [x] Deprecate filesystem-based backend by moving Akavache package to Akavache.Core, make Akavache package a metapackage that requires SQLite3, and move the filesystem-based backend to an `Akavache.IPromiseToUpgrade` package
- [x] Documentation Pass
- [x] Add Get / Post helper methods to IHttpScheduler that proxy to Send, like HttpClient does
- [x] Misc. NuGet package fixups
- [x] Catch bugs related to missing being registered
- [x] Add a Universal build
- [x] Make the Deprecated filesystem-based backend readonly
- [x] Fix table locking (#134)

## What has shipped

* Remove dependency on ReactiveUI (#99)
* Move to Microsoft Rx 2.2.2 (#103) 
* Create a scheme for making database migration changes (#108)
* Fix synchronous GetKeys (#111)
* Garbage collection (#114) 

## What's Shelved
* Our port of Volley
* Ship an initial version of the Akavache networking stuff (#102)

## Breaking Changes

* Akavache now depends on the Microsoft version of Rx 2.2.2 on all platforms - shouldn't break any code but binaries will Get Weird™.
* You need to await GetAllKeys now