Fix #557 - Fix issue in relational projection client eval
Ignore on entity type now removes unreachable entity types found by a convention
Removed GraphFactory
Updates to DbContext/DbSet methods per design meeting decisions

See https://github.com/aspnet/EntityFramework/wiki/Design-Meeting-Notes:-October-30,-2014#dbcontextdbset-methods

Specifically:
- Renamed Delete on DbContext to Remove
- Added Attach
- Removed async methods except for Add
- Added non-generic overloads on DbContext
- Removed XxxRange methods and added params overloads
- Changed return types to EntityEntry--see Issue #498

This is part of Issue #193
Use TryAdd in AddXxx methods to only add services if not already present.

Issue #956 and also see pull request #1129.

This change updates all of our AddXxx methods to use TryAdd when adding to the service collection such that only services that are not already registered will be registered. This also means that the code we had to check the service collection for "hosting" services is no longer needed.

Note that services for which it is expected that multiple instances can be registered (e.g. listeners and data sources) must not use TryAdd since otherwise only the first registered will be used.
Commands: Infer migrations' namespace (and directory)

Resolves #671
Cleaning up shared resources by moving check to shared directory and updating project references.