Rejiggering the cache

Requires: https://github.com/druid-io/druid-api/pull/16/files

1) Select queries now no longer cache by default
2) Make singlethreaded groupBys work again
3) bySegment groupBy now supported for single and multi threaded cases
4) Support caching for groupBy -- this can use a lot of memory and overflow the cache! Hence, 5)
5) groupBy do not use cache by default

might want to add preconditions check for dataSource, intervals, since the docs say they are required