Activation fixes.

This PR fixes some cases where the ViewModel could be Activated/Deactivated multiple times.

Although this was mostly fixed https://github.com/reactiveui/ReactiveUI/pull/550, this simplifies the ViewModel activation code significantly.

## Cases simplified:

* If the ViewModel was already set before the view got activated, we would activate it twice. Once when activation is setup and then again when activation.Item1 would fire. We only need the last case, i.e. activate when the activation observable fires, so remove the other situation which is unnecessary.
* View activation and ViewModel activation are now similar implemented.

There currently is one activation test failing, `DerivedActivationsDontGetStomped`. This test calls Activate twice, but only deactivates once, which is why it fails. I think this is bad and we should fix the test. Thoughts?