A few FE fixes [rewritten by hnr]

review issue: 198

Change-Id: I84a2f38b0bce5a6f33dfb974de60c822945834e5
Switching to an asynchronous plan fragment exec interface; this entails:
- making the coordinator asynchronous
- renamed ImpalaBackendService to ImpalaInternalService;
- new class ImpalaServer implements ImpalaService and ImpalaInternalService
- renaming ImpalaInternalService fields to conform to c++ style
- merged impala-service.{cc,h} and backend-service.{cc,h} into impala-server.{cc,h}
- added TStatusCode field to Status.ErrorDetail
- removed ImpalaInternalService.CloseChannel

Also removed JdbcDriverTest.java
Move all Thrift servers and clients to common ThriftServer /
ThriftClient classes, migrating to TNonblockingServer in the process
Improve runquery start time
Fix Timestamp sorting.
Fixed build break due to linking problem with libthriftnb
The FindThrift cmake module was searching for the non-blocking thrift library using the wrong file name
IMP-131: Runquery should not start webserver, plus move ImpaladQueryExecutor thrift client to new transport
IMP-138: Commandline flags and Hadoop configs on /varz
workaround for imp-161
IMP-163: Fix loading table with string partition key
Move functional data loading to new framework + initial changes for workload directory structure
This change moves (almost) all the functional data loading to the new data
loading framework. This removes the need for the create.sql, load.sql, and
load-raw-data.sql file. Instead we just have the single schema template file:
testdata/datasets/functional/functional_schema_template.sql

This template can be used to generate the schema for all file formats and
compression variations. It also should help make loading data easier. Now you
can run:

bin/load-impala-data.sh "query-test" "exhaustive"

And get all data needed for running the query tests.

This change also includes the initial changes for new dataset/workload directory
structure. The new structure looks like:

testdata/workload  <- Will contain query files and test vectors/dimensions

testdata/datasets <- WIll contain the data files and schema templates

Note: This is the first part of the change to this directory structure - it's
not yet complete. # Please enter the commit message for your changes. Lines starting
IMP-95: Fix/recognize intermittent data load failures on jenkins
Builds now fail on data loading problems. Also a simple test fix.
Fix sequence file data loading for the alltypesmixedformat table
Moved this out of the data loading framework because it is kind of a special
case. I will consider how we can update the framework to address mixed format
tables.
Cancellation support:
- added DataStreamMgr::Cancel(), which is used to propagate cancellation from the
  coordinator to all (possibly blocked) ExchangeNodes
- all exec nodes now check for cancellation before they do anything that might block for a while
- fixed up logic related to async cancellation

Added support for async query execution via beeswax interface:
- implemented ImpalaServer::query()
- QueryExecState now tracks beeswax's idea of the query state
- ImpalaServer::get_state() now returns the actual state

Fixed handling of ExecNode::Close():
- needs to be called for entire plan tree, regardless of what fails (can't use
  RETURN_IF_ERROR() inside of it)
- needs to be called for every Open() call by coordinator/ImpalaServer
Fix reporting query profile information.
Added now() function.
Trevni file support
Fix some ImpalaServer bugs due to incorrectly assigning fragment ids
[Submitting on behalf of Marcel]
- fragment ids weren't assigned correctly (they need to be unique across all
nodes on which they're executing)
- some of the execution logic that I checked in yesterday was flawed
Kill off planserver after loading trevni files so jenkins is happy
Properly set fragment_Id in Frontend
[Submitting on behalf of Marcel]
This resolves an issue where impalad would fail if -num_nodes=0 was set