Issue#376
Merge remote-tracking branch 'upstream/master'
Issue#376
Merge remote-tracking branch 'upstream/master'
Issue#313
Starting to implement phoenix based indexes.

Still need to tie in on the client side.
This is a really simple implementation - it doens't support covered indexes and is REALLY bloated
as each put will have a serialized index and primary PTable in its attributes.
Working on supporting secondary indexing directly in Phoenix.

Building a custom IndexBuilder (a PhoenixIndexBuilder) that will be the basis
for rewriting the current CoveredIndexBuilder. The new implementation will support
better interfaces for index builders and abstract out a lot of the complexity.

Pending:
 - There is an issue with 'back in time' updates. We need to not just rewrite the
single put, but rather the entire history from the back-in-time update forward. By
request, pushing these pending issues before complete, so there is an expected
compilation issue. This commit will be rebased when the work is completed.
Rolling back changes in phoenix core code
Merge branch 'master' into mutable-si
Partial work for si integ
Implemented delete for mutable si
Implement IndexMaintainer.buildRowKey method
Added basic test and fixed bugs
Fix usage examples
Added more mutable-si tests and fixed bugs
Merge remote-tracking branch 'upstream/master'
Simplify row key building, change index column naming for pk columns so we can get back to data column, use scanRanges in server cache
Bug fixes for prefixing index pk names, support salting for mutable secondary indexes
Create ValueGetter interface to allow use of IndexMaintainer for both mutable and immutable index row building
Hooked up transport of index meta data to server, initialize IndexMaintainer so it can be used on client side as well