Name it, George! (Core classes API review changes)

- DbProviderServices
   Made constructor that takes the resolver internal
- EntityCommand
   Made all ExecuteReaderAsync overloads virtual
- EdmFunctionPayload
   Changed from struct to class to avoid mutable struct anti-pattern
   Made array properties IList<>s
- EdmMember
   IsStoreGeneratedIdentity is used by the SQL Server provider and is generally useful to other providers. Made IsStoreGeneratedComputed public also for consistency.
- EdmProperty
   Renamed Primitive, Enum, and Complex to CreatePrimitive, CreateEnum, and CreateComplex to align with general Create method.
- StoreItemCollection
   Removed Store from StoreProviderFactory, StorProviderInvariantName, StoreProviderManifest, and StoreProviderManifesrtToken
- TypeUsage
   Made GetModelTypeUsage into a property
- ObjectContext
   Made all SaveChanges and SaveChangesAsync overloads virtual
- ComplexType
   Made constructor internal again since factory method now exists and is more appropriate for public use
CodePlex #368: Column uniquification is not deterministic. Sorting navigation properties and sets to cover two more cases. Added unit tests
Added parameterized versions of Skip and Take for IQueryable
Vegan Beat Manifesto (Fix for 1157 - Cache manifest token to cut down on initialization round-trips)

The default service implementation now caches based on actual DbConnection type (proxy for the provider), database name, and server name.
Fix for net40 build break.
Lazing on a Tuesday afternoon... (Fix extra lazy loading test)

This test would fail if it ran before other tests because the process of creating delegates to update collection instances dynamically would cause lazy loading to happen, which then altered the results. This only happens once because of caching, which is why the failure only happens when the test runs before other tests.
Updated metadata XML docs to provide more guidance for users creating model-based conventions
If you build the factory they will come (Fix for 1440: History context factory not resolved correctly)

The first issue was that the HistoryRepository allowed construction without specifying the factory explicitly. It would then do a simple lookup with a null key rather than doing the lookup with the provider invariant name and then doing the lookup with a null key only if this didn't resolve. The fix is to force HistoryRepository to always be passed a context factory and then to use the same mechanism we use for ContextKey to make sure the correct factory is passed.

The second issue is just a missing boilerplate method on DbConfiguration
Adding UnwrapAndHandleException to the default ExecuteAsync implementation.

Workitem: 1443