Update from v0.4 to v0.5 (pre-release version)

* Adding block location cache to HdfsTable in order to speed up getBlockMetadata().
  - we're now pre-computing and caching the result of HdfsTable.getBlockMetadata() on a per-partition basis
  - to make the cache more compact, we're collecting pools of unique strings:
    file names are collected per partition and ip/port strings are collected per table
* File Permission error should be returned the shell and visible to the user
  Log that an error occurred opening the file and call get_log in the shell when an insert fails.
  Don't unregister query in ImpalaServer::Wait so we can recover error message later.
* Bumping version to v0.5
* Make $IMPALA_HOME/shell hold python modules.
* Date diff had the order backwards.
* Code changes to build against thrift 0.9.0
* IMPALA-15: UNIX_TIMESTAMP format behaviour deviates from Hive when format matches a prefix of the time value
  Truncate datetime value to length of format if necessary.
* Move to LLVM 3.2
Build instructions for Thrift v0.9 and LLVM 3.2
Adding implementation of hash partitioning to DataStreamSender.

Changing DataStreamSender::Channel to get a backend client from the client cache rather
than opening and closing its own connection.
Only quote string values in Json metrics
HiveServer2

This patch implements the HiveServer2  API.

All of the HiveServer2 code is implemented in impala-hs2-server.cc. Beeswax
code is refactored to impala-beeswax-server.cc.

HiveServer2 has a few more metadata operations. These operations go through
impala-hs2-server to ddl-executor and then to FE. The logics are implemented in
fe/src/main/java/com/cloudera/impala/service/MetadataOp.java.

Because of the Thrift union issue, I have to modify the generated c++ file.
Therefore, all the HiveServer2 thrift generated c++ code are checked into
be/src/service/hiveserver2/. Once the thrift issue is resolved, I'll remove
these files.
Fix packaging failure by moving inline function GetQueryExecState to impala-server.h
IMPALA-30: Make Catalog Db and Table caches thread safe
Allow Impala to retry connection with statestore forever
Fix normal Findbugs warnings
Adding the option to use Cyrus-SASL and GLog from a separate toolchain location
Omitting Perl bindings from thrift build
Fix build break due to cyrus sasl version not being set properly
Add FE/target/dependency/* to the classpath of run-jdbc-client.sh
Fix status static initialization.
IMPALA-44: Database names are case sensitive
IMPALA-47: Fix buffer overrun error in Sasl transport
Gracefully dealing with unbound PIC_LIB_PATH variable
Add number of backends to backends page.
hbase-table-scanner needs global ref for scan_ and resultscanner_

Enable JNI checking
Adding query option DEBUG_ACTION