Adds automatic version numbering for CI builds (or when the BUILD_NUMBER param is non-empty).
Fixed typo in XML documentation.
Fixes to XML documentation.
Fixed NullReferenceExceptions if the database context was null.
Fixed incorrect XML documentation.
Added Code Contracts to async equivalents of IQueryable extension methods to fix TODO.
Minor change to XML documentation.
Added Contracts.Requires() to private method.
Fixes to XML documentation.
Added Contract.Requires().
Changed usages of Count() to Count to improve performance.
Changes to use the [CallerMemberName] attribute.
Fixed typo.
Added SQL Server 2012 to the SqlVersion enumeration and changes to treat the value identically to SQL Server 2008.
Added Contract.Requires().
Changes to use the Error class.
TheUnicornsHavePulled (First pull request plus tests)

This is the first pull request from martincostello described as such:
  Added Code Contracts to async equivalents of IQueryable extension methods to fix TODO.
  Added Contract.Requires() calls to a number of methods where they were missing.
  Changed usages of Count() extension to Count property to improve performance in ExpressionExtensions.
  Changes to use the [CallerMemberName] attribute in DbConfiguration.
  Added SQL Server 2012 to the SqlVersion enumeration and changes to treat the value identically to SQL Server 2008.
  Fixed various minor typos, punctuation etc. issues in XML documentation.

We are not taking CallerMemberName now since it will complicate creating the .NET 4 build.

I have also added unit tests for all the added code.
Reverted the renaming of DbSqlQuery to DbSqlSetQUery.
Renamed DbSqlQuery to DbRawSqlQUery.
Moved unit tests for DbSqlQuery and DbRawSqlQueryTests to the appropriate classes.
Moved mock helpers to the namespace that contains the mocked type.

Iteration II:
Removed empty classes
Added unit tests for Database.ExecuteSqlCommandAsync.
Grouping DbSet unit tests by method under test