Add additional options for View location

This patch makes RxRouting.ResolveView resolve several new options:

* IFooBarView that implements IViewForViewModel (using ViewModelToViewFunc)
* IViewForViewModel<IFooBarViewModel>
* IViewForViewModel<FooBarViewModel> (the original behavior in RxUI 3.1)
Version bump to 3.2.0
Why.
Fix template access in TransitioningContentControl

Template elements cannot safely be accessed during the Loaded event
because Loaded events might occur before the template is applied,
causing ArgumentExceptions though the template is actually correct, just
not yet loaded

Fix this by moving access to template elements to "OnApplyTemplate()"
where the template is guaranteed to be loaded already.
Merge pull request #72 from lunaryorn/fix-template-access

Access template elements after template is applied
Compatibility fix to make RxUI 2.x code easier
Use a conventionless version of RaiseAndSetIfChanged so we don't break people who change it
Fix WP7 bug

The fact that nobody has caught this until now tells me how seriously I should take WP7 development
Demote some noisy log lines
Add the ability to register new types with service locator

This patch adds the ability to register types with the service locator, so
that RxUI itself can use it without first waiting for a service locator to be
set up.
Create dispatch classes to subscribe to notifications for objects

This is the first step towards creating an extensible WhenAny /
ObservableForProperty, for being able to add MonoTouch KVO support. This
creates a new interface that, for a given object and property name, knows how
to create an IObservable to notify when that property changes. We do this for:

* INPC objects
* Reactive objects (IRNPC)
* DependencyObjects
* POCO objects as a fallback.
Enable ObservableForProperty and WhenAny for all classes

This commit uses the infrastructure built up earlier to add the ability to use
ObservableForProperty and WhenAny to any object - it is determined at runtime
what kind of ICreatesObservableForProperty to use.
Hack in DepProp observer in RxApp. Ugly.
Test WhenAny with a DependencyObject
Don't need this anymore
This doesn't need to be so specific
Move IViewForViewModel down to RxUI core
Deprectated, use CreateDerivedCollection
Add basic interfaces for command binding

Add the raw methods to bind a command to a view object, in a similar fashion
to ICreatesObservableForProperty. The high-level extension methods will use
these methods via the service locator to implement command binding.
Implement Command Binding

Add the implementation for Command Binding, building off of the previous
commit. The intended syntax (once some RxApp plumbing is finished), will look
something like:

// Binds vm.FooCommand to view.FooCommand
this.BindCommand(ViewModel, x => x.FooCommand)

// Binds vm.FooCommand to view.FooControl
this.BindCommand(ViewModel, x => x.FooCommand, x => x.FooControl)

// Binds vm.FooCommand to view.FooControl, and passes vm.Baz to the
// ReactiveCommand every execution
this.BindCommand(ViewModel, x => x.FooCommand, x => x.FooControl, x => x.Baz /*Param*/)

// Binds vm.FooCommand to view.FooControl, and calls Foo() every invocation to
// determine the CommandParameter
this.BindCommand(ViewModel, x => x.FooCommand, () => Foo() /*Param*/);