Simplifying RedisDatabase multiplexer cache
Remove aspnet50 temporarily
Work around assembly neutral problems by adding sources to project
Use try-catch statement around K-specific code in Design assembly
Initial impl of AsNoTracking
Updated build.cmd
EDMLib v4? (Metadata robustness and non-primary keys)

(This change looks big, but the only really substantive changes are in EntityType.cs)

This change adds non-primary keys as a first-class part of the model as per issue #537. In looking at this it became clear that it was time to add some more robustness to the core metadata to help prevent the model getting into inconsistent state--for example, removing keys that are being referenced by foreign keys. Most of this change is about adding that robustness. Specifically:
- Be explicit and consistent about being able to either find and existing metadata item or create a new one if it doesn't yet exist. This matches the way we tend to use metadata, especially from fluent APIs and conventions. It helps protect against a couple of bugs we have had recently where duplicate items (properties or keys) were added by mistake. The methods are currently called GetOrAddXxx, but we can discuss other ideas.
- Error checking for things like CLR properties actually existing
- Checks to prevent removal of items that are currently still being referenced in the model
Fix build break caused by Azure Table Storage model being built differently and inconsistently. Will file a bug to follow up on some of this.