initial commit

Attempted to setup a basic architecture that could work across frameworks and
formats.

Intended as a discussion starter!
By the way, in WebApi.Hal these objects (directly returned from action methods) are called a `Representation`, but after re-reading the HAL spec, i thought i'd stay closer to the same terminology. In that same library, there is a `IResource` interface that is implemented by the `Representation` base class.