Random sequential access...

Add SQL Server-specific model APIs for sequences and clustering

This adds SQL Server-specific fluent and core metadata APIs as discussed in the design meeting here: https://github.com/aspnet/EntityFramework/wiki/Design-Meeting-Notes---October-2,-2014

The sequence APIs are different from discussed in the meeting because they now more explicitly separate the use of sequences for value generation from the definition of sequences in the relational model. The definition of sequences now has a relational-specific fluent API and this is the only place where characteristics of the sequence can be changed. The model can then be setup to use sequences for value generation, as can each property.

This code doesn't include connecting up the new annotations to the Migrations code.
I'm a plumber and I'm OK...

Plumb new sequences API through stack

This includes connecting up to Migrations and value generation and the removal of old APIs, plus some changes to the original implementation driven by usage patterns for these things.
RelationalDatabase.ApplyMigrations
Adding an ApplyMigrations extension method to RelationalDatabase
Adding an interface that can be used to expose ContextConfiguration as an explicit implementation (useful for other components we want to hand extension methods off)
There is some level of testing as I swapped the MigrationsEndPointMiddleware over to use this API (and it has functional tests). Would be good to have at least one end-to-end test once we have migrations functional tests.
AddDbContext method for DI
Commands: Discover context types from migrations
Commands: Add functional tests