Work in progress portable library.

ReactiveCommand and ReactiveAsyncCommand moved to RxUI-Core
Renamed ReactiveUI_Portable to ReactiveUI.

Added _Net40 to .Net 4.0 projects.
Moved Validation.cs into RxUI-Xaml.
Updated projects to reference the Portable Library.
Lazy in its own file.
Linked Command classes and Interfaces into RxUI-Xaml for .Net 4.0
Fixed compile errors.

Fixed InternalsVisibleTo.
Temporarily handle unit test detection by returning false.
Change the namespace for PropertyChanging classes to work around namespace collision on .Net45. Need to think about the best way to handle this.
Merge remote-tracking branch 'origin/rxui5-master' into portable
Fix broken project files.
Move RxUI-Routing into RxUI-Core and RxUI-Xaml.

Move Validation back to RxUI-Core.
Validation classes are not available on WP and therefore currently cause compile errors.
Validation framework rebuilt on top of INotifyDataErrorInfo.

TODO: Add hooks for ValidationAttribute on supported platforms.
TODO: Tests
Merge remote-tracking branch 'origin/rxui5-master' into portable
Define PORTABLE in Debug mode
RIP Silverlight and WP7
Move more things out of ReactiveUI.Xaml and into ReactiveUI proper
Rename Validation to ReactiveValidatedObject.

Enable ValidationObservable.
Make the ReactiveValidatedObjectTest run successfully with the rewritten Validation.
Fix coding style to comply with style guidelines in CONTRIBUTING.md
Removed backing field conventions.

Removed old WP7 stuff.
Support property changes in derived collections

Adds support for updating derived collections when items in the source
collection changes (INPC). Changes to source items can result in items
being added to or removed from the derived collection as well as items
changing places (due to new sort conditions).

In order to make this possible I've moved all of the synchronization logic
into the RDC class itself and the class has been split into two parts. The
RDC<T> class is exposed to callers of CreateDerivedCollection (for
backwards compatibility and sanity) and RDC<TSource,TValue> which contains
the magic ingredient TSource (the type of the source collection items).

In order to support all scenarios of value and reference types, orderers
and no orderers filters and what not RDC now maintains a map between the
item indices and their corresponding indices in the source collection
allowing it to track and map changes in the origin collection to their
projected counterparts regardless of type and value/reference type
changes.

Also supports items existing in multiple places in the source collection
whether or not the selector is an identity function or if they're mapped
to value types.

This is a breaking change for the following reasons:
  * RDC constructor no longer accepts an IDisposable
  * RDC is now explicitly read only (modifying a derived collection makes
    no sense and now it's enforced. All modifying methods throws and the
    IsReadOnly property is set to true.

TODO:
  * CreateCollection is currently broken. I don't think it will be hard to
    fix it but I want to get some feedback on this change first.
  * One possible performance optimization would be to maintain an inverse
    map of source indices to destination indices which would allow for
    quicker lookups. Needs to be measured and weighed against increase
    complexity. Could also enable binary search for reverse lookup.
  * Another possible perf gain is to use binary search for
    positionForNewItem.
Getting rid of awkward reset overload

ReactiveDerivedCollection needs to override the implementation of Reset
while still being able to use SuppressChangeNotification. My previous
hack to allow this needs to be killed with fire so I'm adding
publishResetNotification to ReactiveCollection. It's not ideal but at
least it's better than the previous version.
Proper IDisposable implementation for RDC
Remove unused method param, consolidate methods
Renaming internalInsert, removing unused method