Fix backpressure not working bug

The input buffer status checking fails the backpressure in the
following conditions:
1. Firstly, by design, given two adjacent events with the same type,
the second one will not be triggered
2. Then, given buffer full, start to execute buffer full listener
3. at the same time a thread polls a data from the input buffer
4. now the buffer is not full, channel read pausing is not conducted
5. the buffer full event will not get triggered anymore because of 1.
6. The backpressure is broken.

remove the checking codes fix the problem.
Add big data tests

Temporarily add a special download_test api to implement big data
download test. This method can be removed if query result
stream-back to client is implemented (if needed).
Remove dependency on test package
add test-specific timeout to pass Travis
Fix another cause: remove pipeline executors.

The pipeline executors have their own memory management mechnism by
specifying the estimated size of message caches. However, they can not
work together with FlowControlInputBuffer or any other backpressure
mechnisms.

The reason is that Netty provides a boolen switch for each connection
to turn on/off of data transmission. The executors and the
FlowControlInputBuffers are both using this switch to implement
backpressure. If we have both the executors and the
FlowControlInputBuffers present, we have three layers of threads:

Netty worker threads --> pipeline executor --> myria query executor

--> here means push message into

When the myria query executor finds the input buffer is too full, and
turn the connection switch to stop read data, the pipeline executor
does not know that, it continues push data into input buffer and
restart the network data transmission.

Currently what the pipeline executors do are justing
serializing/deserializing messages, removing them should not hurt the
performance.
Fix a deadlock problem

The actual resume read and pause read of connections are conducted by
netty worker threads, when query executor threads call these methods,
the awaitUninterruptably cause the query executor threads to sleep
when they are holding the spin locks. And the Netty worker threads
need these locks to get information when conducting the actual resume
and pause.

Move the resume/pause codes out of the spin lock protected block.
Infinite loop should check the interrupted bit
Only override Timeout Rule can disable the global

Only override Timeout Rule can disable the global timeout setting. The
test specific timeout setting does not work
Merge branch 'master' into slxu-fix-network-backpressure
Merge branch 'master' into slxu-fix-network-backpressure
Parse full worker/master deployment line

append db_name and id to the parsed results
Fix default path set, drop worker id 1- assumption

Worker id is a non-negative integer sequentially from 1 is a wrong
assumption.

default path checking will not be correct when empty field string,
i.e. ::, presents.
Fix startAProcess

simply split a string is not correct. In "ssh address shell_commands",
the third argument should be a single string. The old code will split
the shell_commands to an array of strings and serves into
ProcessBuilder, which is not correct. It did fail with mysterious
errors when I added some more commands into  the shell_commands.
Set worker working dir to separate paths

In the current code, workers of the same deployment on the same
machine will write logs into the same englink-log4j.log file which
makes the log file useless.
Simple extension to kill_all_java_processes

Able to kill all processes with the same name, not necessarily java.
Useful when for example doing debugging on cluster where non-java
processes get started for monitoring machine status.
Merge branch 'slxu-fix-and-improve-deployment' into slxu-fix-network-backpressure
Merge branch 'slxu-improve-sql-exception-processing' into slxu-fix-network-backpressure
Process query init in query msg process executor

The netty IO threads only do network transmition and data
serialization/deserialization.

The old implementation may cause distributed deadlock because
1. network connections are created in producer.init
2. init is blocking
3. Assume that Machine A. producer 1.init is executed by worker1, and it wants to
connect to machine B.consumer 1, and in the same time, Machine
B.producer 1 executed by worker 2 wants to connect to Machine A.consumer 1.  But
unfortunately, Netty assigns connection acceptance in Machine A from
Machine B.producer 1 to worker1, and also it assigns the connection acceptance in
Machine B from Machine A.producer 1 to worker 2. Then deadlock
happens.
Remove ID checking timeout

Useless, always report false connection errors. Let the error handle
code process connection problems.
Searialize channel readability setting

This is the major fix of this branch. The Netty framework actually
does not guarantee the same order of actually setting the readbility
of a channel as the order of the setReadability method call when
called sequentially by different Netty worker threads.  This problem
may cause unexpected delayed read pause, which is the main cause of
query hang.

Implement the sequential actual readability setting.