Use r\json automatically for write operations.
Make nativeToDatum() consistent to json_encode when it comes to deciding whether to encode a partially associative array as an array vs as an object.
We now use the following logic:
	Arrays that have at least one non-numeric key are encoded as objects.
	All other arrays (i.e. arrays with only numeric keys and empty arrays) are encoded as arrays.
Adapted AggregationsTest to new groupBy output of RethinkDB 1.8
Make tests pass with RethinkDB 1.8 / 1.9
This also implements the new optional argument handling of the index parameter and support for left_bound / right_bound optional arguments to between and slice.

Closes #32.
Accidentially commited a wrong port in run.php
Removed support for opts argument in deleteAt. See https://github.com/rethinkdb/rethinkdb/issues/1456
New RethinkDB 1.8 / 1.9 ql2 protobuf files.
Support for RethinkDB 1.8 date/time functions.
Support function attributes in orderBy
Support r\literal
contains() supports function arguments
Support pluck-like patterns with groupBy, withFields, hasFields and without
Merge branch 'dev'