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
Make tests succeed again.
Merge branch 'process-one-fixes'
Fixed cast bug for NULL table entries.
Merge pull request #97 from howleysv/null-field-fix

Fixed cast bug for NULL table entries.
Remove emysql_util: prefixes from in emysql_util

In a handful of places in emysql_util, there were a few calls to
emysql_util:do_something(), I just removed the extraneous emysql_util:
prefixes.
Convert tabs to spaces in emysql_util
Add emysql_util:insert_id/1 and affected_rows/1

All in the name of not requiring the programmer to include the
emysql.hrl file.
Remove is_record() from util calls.

This is just done to make the calls more consistent. Previously, in some
places, it was is_record(result_packet), and in others it was
Res = #result_packet. This just makes all calls in util consistent.

Also, I fixed the ordering of the previously introduced functions
insert_id/1 and affected_rows/1, which were originally put in the
-export without being alphabetical. So I made them alphabetical.
Add emysql_util:result_type/1

This is a more straightforward way for a user to determine the packet
type, rather than having to do element(1, Packet).
Further simplification of emysql_util:field_names