ATS: Update querying pipeline to meet Northwind spec

There is some work still to be done, but I wanted to submit this *before* list of changes get too big.

Made lots of improvements to get ATS working on the Northwind tests

Other features included:
Support for shadow state properties
Beginnings the Fluent API extension for ATS
Refactored POCO support to use already optimized clr accessors.
Refactored object creation to use factories and dependency injection

TODOs:
   Support for complex logic in server queries: (Queries can only AND together conditions)
   Optimization: reduce the multiple calls to the server made per query.
I realize that the "Database" class and the "DataStoreCreator" class look like they are two places for the same functionality, and it could be that we ultimately end up going there. However, the intention at the moment is that the Database class is the API that app developers see for things related to the store--such as creating and deleting databases, but also access to connections, transactions, etc. On the other hand, the DataStoreCreator is the component responsible just for services around database creation and deletion. In other words, Database is a façade API that makes use of other services to do actual work. For these reasons I think the code for creating tables, etc. that is currently in this class should probably be moved to the DataStoreCreator implementation leaving this class as just a façade API. Also, I think it could be useful to expose AtsConnection here in the same way that we expose relational connections in the relational API.