Update for compatibility and support for RethinkDB 1.15

This PR will bring rethinkdb-net up-to-date with the latest RethinkDB.  The latest RethinkDB is version 1.15; we support version 1.11.  The majority of the driver's functionality does work just fine in RethinkDB 1.15, but there are a few upstream breaking changes that haven't been kept up-to-date.

This work does not include supporting new features introduced in RethinkDB, except for the new grouping and aggregation features that replace the support that rethinkdb-net already had.  Changes to rethinkdb-net:

* Remove "base" option from Reduce(); it's been removed upstream and the reduce operation now only works on queries with one or more items being returned.
* Support multiple changes in [Update/Delete/Insert]AndReturnChanges (which is renamed from Update/Delete/Insert]AndReturnValues to match upstream changes)
* Count() now supports a predicate for counting only rows that match a certain function.
* GroupedMapReduce has been removed.  The same functionality can be achieved now with separate .Group().Map().Reduce() functions chained together.
* .GroupBy has been removed.
* .Group() has been added to match other drivers.  It can group on an index, or 1, 2, or 3 mapping functions.  It returns a special query type that causes connection.Run() to return a dictionary with the grouping results.
* Max, Min, Avg, Sum, Count, and Contains aggregates are supported.  They work on both sequence queries and grouping queries.

This will fix issue #171.