Add support for index queries that return values

Refactor get_index/N to specific range and eq functions.
Add timeout arguments and return_terms arguments as options to
a proplist.
Remove unused binding in fuction head

Left over from development
Dirtyily hacked together prototype addition $key+body streaming

You need to create queries like this

`riakc_pb_socket:get_index_range(Pid, <<"mybucket">>, <<"$key">>, <<"1">>, <<"99">>,
[{max_results, 100}, {return_terms, true}, {stream, true}]).`

Where `max_result` is the total number of results
`return_terms is true is you want the result body back
`stream` is stream or not
The rest are Pid, the bucket, the $key index, the start key, the end key.
Start and End are inclusive, sorry.

You need the riak branch, rdb-cs-return-body
WIP add new 2i options
WIP deal with continuation
WIP don't expose rpbpair to caller
Return keys or results depending on what is received

Some queries specifiying 'return_terms' may not actually
return_terms. Return to the user the results you get, be they
keys or value, key pairs

Conflicts:
	src/riakc_pb_socket.erl
Make empty results response consistent with non-empty

This is a non-backwards compatible change. Discuss?
Add support for riak cs to return objects from $bucket query
Remove `is_binary` guard as it was a bug that broke backwards compat

Use correct name for `return_terms` param in edoc.
Merge remote-tracking branch 'origin/master' into pt29-2i-pagination