Basic collections support

This is based off of the binary protocol branch (PR #4), and adds basic support for Cassandra's map, list, and set collections:

```ruby
class Model
  ...
  property :options, DataMapper::Property::Map
  ...
end

m = Model.new
m.options = { width: 320, height: 240 }
m.save.reload.options # => { 'width': 320, 'height': 240 }
```