Add basic project infrastructure.

Solution, plus two projects.
Add MSBuild support for test assembly.

Allow TeamCity to run the Xunit.NET tests.
Enable NuGet package restore.
Fix test assembly name for Xunit.NET
Enable NCrunch.
Create an instance of the requested type.

We get quite a lot of code out of this first test, because where
previously there was nothing, there is now something.
Add type restriction to `BuilderFor<T>()`.

This library is only going to be useful for classes, so restrict the
factory method to only class types.
The factory method must return `dynamic`.

This is to ensure the dynamic dispatch functionality is enabled.
Set an arbitrary property from dynamic method call

This has quite the hacky implementation so far, but hopefully it will tidy
up as more cases are implemented...
R#: remove redundant `this` qualifier.
R#: Rename field.
Replace `Type` argument with a Generic argument.

I couldn't get the compiler to work with generics previously, but I think
that's because I had an out-of-date duplicate of the `A` helper class
lying around. It now works correctly and so we can get strong typing
throughout the builder.
Add a basic usage example test.

Show how the library can be used.
Add usage example test with implicit casting.
Move example usage tests to another fixture.
Use AutoFixture for test data.
Rename existing SetStateByName test.

New tests will be added along the same lines to handle the other primitive
types of int, bool, etc.
Use explicit type to cast back to SampleType.

Using var on the `sut.Build()` line will always result in result being of
type `dynamic`, which we don't want. We need to explicitly specify the
type of the `result` variable to fix intellisense and compilation.
Set IntProperty.

This test has the effect of forcing the implementation to handle different
property names, etc.
R#: Extract Method.