introduce @EmbeddedCollection annotation

@EmbeddedCollection will be used to store properties as Cassandra-native
collections.

There will be at least two update strategies for these collections, one
that updates only those elements that have changed, and one that forces an
update of the entire map regardless of what has changed.  An additional,
special-case of the latter that uses optimistic concurrency control might
also be added.

This is all an ongoing work-in-progress.