Attribute mapping proof of concept
Merge branch 'master' of https://github.com/refactorthis/GraphDiff into dev
Multiple refactors and implementation of new features

 - Added support for UpdateParams to allow for configuration per update operation
 - Started a refactor of some components into smaller single responsibility objects (QueryLoader, AttributeGraphBuilder)
 - Added support for QueryMode though NOT IMPLEMENTED for multiple queries as yet
 - Added stubs for support of caching ConfigurationMappings -> NOT IMPLEMENTED
Refactor: pulled change tracker and entity manager out of the GraphNode.

 - Added entity manager, change tracker
 - Added support for multiple query modes
 - Added support for fluent API and mapping schemes.
Refactor and updates for attribute mappings

 - Refactored UpdateParams, pulled mapping out into extension method as it was easier to use
 - Ensured cyclic graph traversals are not attempted when reading attributes
 - Add a property on the attribute to mark the aggregate root
 - Added tests around Fluent mapping scheme configurations
Cleanup - Add xmldoc comments, rename ConfigurationVisitor for consistency with other graph builders.
Merge branch 'master' of https://github.com/refactorthis/GraphDiff into FluentAttributesRefactor
Merge pull request #69 from refactorthis/FluentAttributesRefactor

Fluent & Attribute configuration support, caching, compositional refactor, query mode
#72: replaced new T() with Activator.CreateInstance<T>() and removed the new() constraint
#72: Added test for creating entity with private constructor. Removed new() contstraints, use _dbContext.Set<T>().Create() to create entity.
Merge pull request #80 from mwijnands/develop

Fix for creating an entity with a private constructor.
Added complex types tests and fixed inserting complex types
Get true entity type incase proxies are being used
fix: performance issue in queryloader

 - bug didn't use expression trees so query was evaluated in .NET
Included type information in the exception thrown for already attached roots
Merge pull request #95 from andypelzer/develop

Included type information in the exception thrown for already attached roots
Use the runtime type of the root (instead of the compile-time type which might be a base class) to create the "persisted" when adding a new root
Merge pull request #98 from andypelzer/develop

Use the runtime type of the root
Added tests for ManyToOne
Added basic many-to-many associated tests