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.