Wrapping exceptions correctly and ensuring Indexer not unloaded.

Wrapping exceptions consistently to ensure that we correctly have a DoNotRetryIOException (see comments on IndexBuildingFailureException).
Further, wrapping all the calls in Indexer to rethrow exceptions back to the client such
that the Indexer is not unloaded if it gets a RuntimeException (in practice, wrapping any
non-IOException)
Fix broken unit tests, go through KeyPart to get expression for IN expression
Merge pull request #463 from jyates/wrap-and-throw-exceptions

Wrapping exceptions correctly and ensuring Indexer not unloaded.
Merge pull request #464 from samarthjain/master

End to end tests for testing query more functionality. Fixing bug which ...
More bug fixes for rvc, commenting out throw of RuntimeException in indexing code
Fixed to row value constructor optimization, support for optimization if table is salted
Fixing exception wrapping in Indexer
Fix for partial use of rvc, fix for rvc on rhs compared against non rvc, attempt to repro salted order by bug
Merge branch 'master' of github.com:forcedotcom/phoenix
Clearing write buffer on failure to fix TestFailWithoutRetries
Going back to 2.1.0 release number, as this is what we want to release as
Merge branch 'master' of github.com:forcedotcom/phoenix
Fix for issue #467
Manage index table metadata when data data metadata changes: Drop index if indexed column dropped from data table, drop covered column if covered column dropped from table, add new data pk column to end of index pk
Fix padded char test by not canceling futures (which can end up closing the hconnection), fix range scan hint test by correcting query plan
Bug fixes for dropping index when indexed column dropped
Unit tests and fixes for dropping a covered column and adding a PK column to a data table
Optimize ORDER BY out when salted if order preserving, fix associated unit tests
Bug fix for forcing scan to run through skip scan
Fix for better primary key constraint error checking (#468)