Attribute mapping proof of concept (NOT FOR MERGE)

NOT FOR MERGE - just here to show proof of concept.

Finally had some time this afternoon to spend on GraphDiff. I've done the work to create a simple attribute style mapping.

 - Can update a graph without passing in the mapping every time (good for aggregates)
 - Can select a whole aggregate from the Db in one command (currently in a method context.AggregateQuery<T>())

/cc @andypelzer

This is an early POC but I think it shows some promise. Possible improvements could be:
 - Integrate configuration mappings with the cache provider
 - Allow configuration mappings to be defaulted for an aggregate at app start - fluent api style

Please leave thoughts/suggestions :)