Add supported platforms

Fixes #423
Remove completely incorrect ObserveOn()s from CommonReactiveSource.

AFAICS with my current understanding of how threading is supposed to be
done on ReactiveUI, these ObserveOn()s introduced hazard windows even
if all of the user code lived on the main thread.

The problem is that using ObserveOn() means that the main thread queue
is going to be used.  If the user code does something like

    list.Add(...); // (a)
    list.Clear();  // (b)

then we are not able to guarantee that the changes introduced by (a) will
be processed by the UI{Table,Collection}View before (b) happens.  In other
words, it is possible that we tell the view to add the item after (b)
has already cleared the list, thus leading to an out of bounds access
on the list.  (Note that if we always used ReloadData(), then this would
never happen, since the view would not have any assumptions about the
state of the data it is displaying.)
Add some EnsureUIThreads in order to fail as early as possible.
Merge pull request #425 from reactiveui/race-fix-ii

Race Fix, 2nd attempt
Avoid NRE on CommonReactiveSource when the binding takes too much time.
Merge pull request #426 from reactiveui/binding-nre

Avoid NRE on CommonReactiveSource when the binding takes too much time.
Removed Pex from the list of test runners detected at runtime.Cleaned it up on 2 tests as well for consistency.
Merge pull request #428 from tiagomargalho/RemovePex

Removed Pex from the list of test runners detected at runtime
Remove the IList from IReactiveList<T>

This should not have been on the generic interface. It only belongs to
the generic implementation.

Fixes #427
Merge pull request #430 from reactiveui/haacked/reactive-list-interfaces-fix

Remove the IList from IReactiveList<T>
Group some interfaces together to prepare for changes.

This commit only moves lines of code together. The result should be the
same code but grouped differently to make changes in further commits
more clear.
Remove ICollection<T>
Make IReactiveCollection<T> implement the IReactiveCollection interfaces.
Remove IReactiveCollection
IReadOnlyReactiveCollection<T> inherits IReactiveCollection<T>
Make IReactiveCollection<T> covariant.
IReactiveList<T> already includes IList<T>
Logging, docs and style improvements.

No behavior changes.
Fix Reactive*ViewSource problems with ReloadData().

If a data source changes too many times, it is possible to break
a UI{Table,Collection}View.  Please see the docs of
lastCallToNumberOfSections introduced by this commit itself,
which fixes this problem.

This commit also adds hooks to Changing observables, thus releasing
bindings earlier than before.  I do not think that this is necessary
for correctness, but it does not seem to harm and may be beneficial in
avoiding needless work in some scenarios.
Less Timestamped mess.