Fix XamlReader.Load() by making sure xaml metadata is included.

This PR fixes #637 by making sure that Xaml metadata is included in the RxUI assemblies.

## What even is Xaml metadata??

Short answer: WinRT uses metadata to convert Xaml to the actual types.
Long answer: http://www.sharpgis.net/post/2013/05/30/Decoding-the-IXamlMetadataProvider-interface-Part-1.aspx

## But it worked in my app without this fix. How so?

The data template contained a `ViewModelViewHost`, so if you were using this in a xaml file somewhere else in your project, the type information was available and everything just worked.

## How do templates in generic.xaml fix this?

Templates use the types in Xaml causing VS to generate Xaml metadata in the assembly (XamlTypeInfo.g.cs).
When using the assembly in an app VS is smart enough to look in the referenced assemblies to see if they have additional Xaml metadata and includes it in the app.

## What are all these other changes?

Now that the WinRT projects have a `generic.xaml` file, we need to include this in the NuGet package. Specifically these xaml files need to be in a directory `/<assembly-name>/<relative-path-in-project>`.

This means the `generic.xaml` file need to end up in the `/ReactiveUI/Themes/generic.xaml` folder.

In addition VS2013 Update 2 adds more craziness to this by requiring an additional `.xr.xml` file in the `/<assembly-name/` folder.

If ANY of these files are missing from the package, the application referencing ReactiveUI will not build and give an error message indicating that it needs these files.

The changes adapt the build script to make sure these files end up in the packages.