Added an ETag Attribute to decorate a class property to indicate it should retreive the ETag. Added this property to the TableItem and assign it when creating from a static type.
Added etag support for table items created from dynamic or anonymous objects
Ensures generic table entity gets assigned an ETag when hydrating or deserializing
Memory table context now adds an ETag to the object when added to table storage. Wrote tests to verify retrieving objects grabs its ETag property.
Added optimistic concurrency support when updating entities. If the entity has been changed since retreiving and updating, system will throw an EntityHasBeenChangedException
Adding a property to the TableStorageProvider to provide backwards compatibility when retrieving and operating on dynamics. This property should be set 'True' to provide optimistic concurrency.
Added optimistic concurrency support for the merge operation
Adding tests to verify that upserts work correctly regardless of an ETag and ensures the memory table context updates the etag on an upsert operation
Deleting an entity by the instance itself now supports optimistic concurrency IF the object has an ETag set. Commit also includes formatting changes.
Changed the ETagAttribute to expect an object rather than a specific string to make the ETag implementation opaque to users.
Providing an optional parameter on table storage operations that will overwrite or force the operation in the event of an ETag mismatch.
Removed the table storage methods with optional parameters and  added overloads
Allow ETag to be any object type. Also added documentation for table storage operations
Merge pull request #78 from TechSmith/feature/AddSupportForOptimisticConcurrency

Adding support for optimistic concurrency