Cleanup client initialization
Add `register` and `prepare` to init opts
Send CQL version 3.1.2
Move all conversions to a separate module

Adds `to_binary` conversions for prepared statements.
Fix execute value types
Add missing conversion types
nulls are encoded as 4 bytes, not eight

confirmed by looking at the output of the java client
Merge pull request #16 from layerhq/develop

Nulls are encoded on 4, not 8 bytes
Proper decimal encode/decode

Various encoding bug fixes.
Adds additional tests for varint and decimal.
Convert null collections
Fix: arrity
Specify types when preparing the query and convert automatically
fix nulls in non-collection fields
Merge pull request #17 from layerhq/develop

Fix nulls for non-collection types
Use the types returned with the prepare

This struck me as the easy way to make this just work. Let me know if
there's something wrong with this approach I'm missing
missed a spot
treat undefined like null

makes working with records easier
Merge pull request #18 from layerhq/develop

Use the types from prepare for execute
Fix few things after merging #18
Don't (re)define the set() type just in case