4SqlServer()

Initial work on provider-specific Code First and core metadata extensions.

This is the initial work for relational and SQL Server extensions. It doesn't yet replace what we currently have--that code still exists as well. Write-only extensions can be used for the fluent APIs together with read/write extensions for mutable metadata and read-only extensions for metadata interfaces.

The following things still need to be done:
- Extensions that are specific to SQL Server and not just overrides of the relational extensions  (Clustered, UseSequence, UseIdentity)
- Extensions for ATS
- The relational model builder
- DefaultValue is not implemented because it really needs non-string annotations.

There are a lot of files here but there is not much actual code and it is all simple stuff.