modifications to accept lowercase key property
First cut for providing query more functionality in phoenix using row value constructors.
Query more functionality using row value constructors
Merging after pulling changes from master.
Merge pull request #442 from jyates/master

Making index writing pluggable.
Fix explain plan to reflect hinting that foces a range scan
Bug fix for IndexWriter.

Configuration keys for the IndexCommitter and FailurePolicy weren't specified,
causing a null pointer. Adding tests to catch this case in the future.
Cleanup to IndexUpdateManager and HTableInterfaceReference

Former: better toString format
Latter: fixing javadoc
Merge branch 'master' of github.com:forcedotcom/phoenix
updating the IndexTest with lowercase options
Fix build warnings
Bug fix for table caching + cleanup of tostrings.

Caching was closing HTables on shutdown, but the CoprocessorHost was also closing the same tables,
causing the concurrentModificationException on shutdown sometimes, which would cause the test
to hang. Also, using a SoftReference for the HTable doesn't work b/c the coprocessorHost has
a strong reference to the tables, causing them to never be cleaned up. Solution was to switch to
a standard LRU cache for the HTables; fortunately, also meant much simpler code.

Also, this meant fixing up some tests (and adding a new one for the caching factory).
Further, adding a rowkey tosString to IndexUpdateManager so we can better visualize the
updates being made.
Merge branch 'master' of github.com:forcedotcom/phoenix
Added tests
Undoing the time out change in ParallelIterator
Bug fix for TestParallelIndexWriter from merge
Speeding up IndexMemStore, removing ExposedMemStore.

Lots of time was spent creating a config in IndexMemStore that we didn't need - removing it.
Also, removing the timetracker stuff - we don't care about whether or not to get a scanner
for the store, given a timerange - we always scan the store.

Additionally, removing ExposedMemStore since we are using our own impl now.
Switching ValueGetter to use ImmutableBytesPtr.

There is a bunch of overhead associated with copying byte[]s. We now just return ImmutableBytePtrs
and store ptrs, when at all possible.
Adding covered columns back to covered set when found.

We had the infrastructure to track the columns that have already been loaded, but
never actually updated the set of columns that were loaded. This meant that we
reloaded the same columns over and over, even though they had already been loaded
Comment out test to get perf numbers