Adds set_adapter_term_t for sets.

Implements terms for set union and set insert.
Set operations are implemented, they work in ruby.
Adds set insert to the python driver.
Adds set ops to js driver.
Adds test for set operations.
Remove dead code.
Adds docs for set operations.
Add remove an unused function.
Adds type signatures to ql2.proto.
Remove an unused cosntructor signature.
Remove some unneeded calls to `check_type`.

Other functions cause the type to be checked. So it was unneeded.
Style changes.
Fix a typo in docs.
Merge branch 'next' into reql_set_ops

Conflicts:
	docs/rql/src/jsonobject.yaml
	docs/rql/src/table_admin.yaml
	docs/rql/src/transformations.yaml
	src/rdb_protocol/terms/arr.cc
	src/rdb_protocol/terms/terms.hpp
Merge branch 'next' of github.com:rethinkdb/rethinkdb into next

Conflicts:
	docs/rql/src/aggregation.yaml
	docs/rql/src/control/error.yaml
	docs/rql/src/jsonobject.yaml
	src/rdb_protocol/terms/arr.cc