More improvements to the async query pipeline.
Adds more queryable ext. methods
SQLiteMigrationOperationPreProcessor:

The operations are classified as follows:

1. CreateTable
2. Table subordinate operations (involve ALTER TABLE ...). The subordinates are divided into: renames (RenameTable, MoveTable), supported (AddColumn) and unsupported (others). The renames are supported operations.
3. Other operations (AddIndex, CreateIndex, etc), including DropTableOperation.

The operation sequence is handled as follows:

1. The table operations are grouped as encountered (except DropTable). They are pending (not processed).
2. When encountering a DropTable, or a non-table operation, the pending operations are processed first, then the current operation.
3. When getting the result Statements the pending operations are processed before return.

There are 3 types of group handlers that store pending operations, each identified by the name of the table it operates on.

1. A CreateTableHandler is started when visiting a CreateTable operation.
2. An AlterTableHandler is started when visiting a supported subordinate operation on a table not associated with a handler.
3. A RebuildTableHandler is started when visiting an unsupported subordinate operation on a table not associated with a handler.

Note:
An AlterTableHandler is promoted to RebuildTableHandler if an unsupported subordinate operation on the corresponding table is encountered.

The pending operations are processed by each handler as follows:

1. context.Generator.Database is cloned and stored into context.Database
1. CreateTableHandler updates context.Database with all operations in the group, then generates a CreateTable operation for the up-to-date table.
2. AlterTableHandler simply returns the operations in the group.
3. RebuildTableHandler updates context.Database with all operations in the group, then generates a DropTable operation with the initial table name followed by a CreateTable operation for the up-to-date table. In the future this will include an operation for copying data (including rename if table name did not change)
4. The operations returned by handlers are processed, context.Generator.Database is updated, and the handlers removed.

Note:
When the RenameTable and MoveTable operations are processed the TableName associated with the corresponding handler is updated.
Improving failed query test diagnostics
"Microsoft ADO.NET Entity Framework Feature Community Technology Preview 4"  (Use full CLR name for entity name)

As per design meeting notes June 5: https://github.com/aspnet/EntityFramework/wiki/Entity-Framework-Design-Meeting-Notes-June-5,-2014#fluent-api

Also added a SimpleName property which is used for:
- Convention matching and FK naming
- The default table Name

Did additional refactoring to remove NamedMetadataBase because
- It was not adding value
- Changed EntityType to not store the CLR name but just get it from the type
- Introduced PropertyBase which is the concrete implementation of the existing IPropertyBase and will be needed to address navigation properties in the fluent API for annotations, etc.
Unicornopoly: The Fast-Dealing Property Trading Game... (Update Property fluent API to match design meeting notes)

This change updates the Property method to match the design meeting notes from https://github.com/aspnet/EntityFramework/wiki/Entity-Framework-Design-Meeting-Notes-June-5,-2014#fluent-api

Specificly:
- Remove shadow state and concurreny parameters and add fluent methods instead
- Make string overloads create shadow properties by default unless the property is already known
Disabling groupby min tests
Merge branch 'dev' of github.com:aspnet/EntityFramework into dev
Code cleanup
Use external service provider for in-memory query fixture
Target wpa81