Added support for Collections and Secondary Indexes

One of my projects needed support for the new CQL collections so I've done a very simple implementation of it, alongside with a simple way to crate secondary indexes (need to add a way to removed an index also).

Missing items:
- ability to pass option hash to further configure the types for collections, e.g. list<type>, set<type>, map<key_type,value_type>

I fixed a set of types when raising exceptions, e.g. raise Foo('bar') versus raise Foo, 'bar'.