tabletserver: StreamExecute refactor
tabletserver refactor: move ddl functions
tabletserver: logStats tweaks
tabletserver revamp: rowcache invalidator
tabletserver: refactor transactions
Vitess MapReduce: Create multiple splits per shard

Currently GetMRSplits creates one split per shard. This change allows
for further splitting within a shard for better parallelism in mappers.
Splits within a shard are created by appending primary key range clauses
to the shard level query.

Changes:
Added SplitQuery RPC to VtTablet
Modified GetMRSplits to accept SQL queries instead of Table and columns
GetMRSplits forwards the query to tablet for splitting via scatterConn
Unit tests
QuerySplitter: getSplitBoundaries should panic on bad min or max
Vitess MR: Multiple splits per shard in InputFormat
Merge branch 'vtocc'
Merge branch 'master' of github.com:youtube/vitess
tabletserver: fix broken build
Merge branch 'master' of github.com:youtube/vitess
Merge branch 'master' into replication