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.