Propagate connection initialization problems

When connection failed to open, it used to not tell it to the caller.
With this patch it propagates the error to the caller (like it used to
be in 0.2), and closes the orphaned connections (which is a new
feature).

This patch also makes basic tests pass again.
Travis-ci support

travis-ci requires different credentials than we have by default,
therefore a conditional for credentials in tests was introduced.
Merge pull request #90 from Motiejus/travis

Enable travis-ci
Allow passing start_cmds from environment
Merge pull request #91 from Motiejus/arbitrary_cmds2

Allow passing start_cmds from environment
NEW optionally skip encoding
FIX environment setup

A few mistakes were present; fix them and introduce tests.
Prevent the conn mgr from locking out the db if a client dies
Merge pull request #92 from Motiejus/env_tests

Env tests
Merge pull request #94 from bpuzon/dying_clients_fix

Prevent the conn mgr from locking out the db if a client dies
Do not query the default timeout on each row
Use buffer when reasing from socket.

Do not call gen_tcp:recv/3 that often.
Improve the row data parsing
Avoid lists:reverse
Use decoder funs instead of matching on each row
Set the gen_tcp recbuf size
Correct test cases.
Fixed initial accumulator bug in open_n_connections.
Fix bug on multiple result set. Thanks jesper

There was a bug when a query returns more than result packets.
For example store procedures calls returns #result_packet{} followed
by #ok_packet{}.   We were lossing data after the first result set.

Thanks to jesper.louis.andersen@gmail.com for pointing this out.

Conflicts:
	test/basics_SUITE.erl
Add new test case