Remove Microsoft.Bcl.Async

This PR kills Microsoft.Bcl.Async (and by proxy, ReactiveUI 4.x) with :fire:, because we were blocked on weird assembly resolution issues because of the Deep Magic that Microsoft.Bcl.Async uses. Always code in Anger. 

### Here Be Dragons

As part of this PR, Squirrel now has its own weird version of ReactiveUI called "ReactiveUI Micro" that it uses as its MVVM framework. A few differences off the top of my head:

* Many interfaces are gone (the types are still there)
* `WhenAny` is now much more limited, it only works on `ReactiveObject` and only accepts single properties (i.e. `x => x.Foo`)
* A new method `WhenAnyDP` is WhenAny for DependencyObjects and has the same limitations as the RxObj version
* Binding methods aren't there, but a `WhenAnyVM` method helps you reach into ViewModels.

### TODO

- [x] Murder anything that involves async/await
- [x] Replace all awaits with Rx
- [x] Move a bunch of stuff from RxUI 4.x into ReactiveUIMicro
- [x] Rewrite Setup UI to not use RxUI.Routing or other stuff I don't like
- [ ] Pull in some tests to test our shim `WhenAny` and `WhenAnyDP`, the latter of which seems to not work.