Keep reference to DropboxDatastoreManager in DBDatastore and make DBDatastore.Sync() call appropriate manager routine
Make RemoveRecord return the DBRecord it removed
Add Tables property to DBDatastore
Add GetRecord method to DBTable
Add Records property to DBTable
Refactor DBDatastore.AddRecord interfaces
Expose the DBDatastore's DropboxDatastoreManager as a property
Release our data hash when the DBRecord is deleted (both for perf and to help people catch themselves using the records after they're deleted
Add IDropboxDatastoreConnection interface and DBDatastoreConnection class which implements it
Call DBRecord.Delete() rather than trying to set the Deleted property directly
Move all logic for GetAuthToken into DBDatastoreConnection
Change interfaces to take DB* objects rather than the pe-packaged parameters
Add RecordCount property to DBTable
Add constructor that takes a hash for the field values so that DBRecord.Dirty isn't set outside of itself
Clear our list of dirty records when we end synchronization
Protect against null Fields value
Use new IDatastoreConnection member to access Dropbox + misc other changes
If GetTable is called for non-existent table let's create it
Make Sync() return a hash of the changed records
Override Equals for DBTable