Add crypto:sha/crypto:hash detection via macros

Relevant changes:

.gitignore: Made so the autogenerated crypto_compat.hrl file is not
included in source control. It should be ignored because of its
autogenerated nature

Makefile: Add `make crypto_compat` rule, and make sure it runs before
compiling the modules.

rebar.config: Added so that apps that use rebar for dependencies can
take advantage of Rebar's pre_hooks capability

emysql_auth: Modified the password generation to use the generated
Macros instead of straight calls.

support/crypto_compat.escript: The script that generates the
include/crypto_compat.hrl file.

Also fix "can never match" error found by dialyzer.

emysql_tcp:response returns {Packet, Status, Buff}, whereas line 61 of
emysql_auth was trying to match against {{Packet}, _}, Buff}, an
incompatible match.

In this case, Packet was an #error_packet{} record.
Merged missing changes from gar1t fork.

There are two changes here:

1. Associate a connect timeout for a pool

2. Add add_pool/2, which uses the arg + options API convention in Erlang

== Connect timeout

To reasonably support connect problems, the module must support a configurable
connect timeout, which is used in gen_tcp:connect/3. This can now be
specified using add_pool/2. add_pool/8, and add_pool/9 use the atom infinity,
which results in the original connect behvior -- i.e. this is a backward
compatible change.

== add_pool/2

The eight+ argument add_pool function is a complete PITA to use and is not
easily enhanced - it should have been done away with a long time ago in
favor of add_pool/2, which uses required arg + options list to manage the
complexity of the API. add_pool/2 requires the pool ID, but uses sensible
defaults for all other values.

To stop the madness, I'm not exporting add_pool/10 (which does the work in
this implementation). If someone needs a connect timeout, he/she should use
add_pool/2. I'd like to see the doc updated to use add_pool/2, but won't
presume to do this. We could export add_pool/10, but really, does the world
need another add_pool arity?
Bump version to 0.3.1.
Merge remote-tracking branch 'choptastic/crypto_fix'
Ignore generated documentation.
Update generated documentation.
Update the list of Travis targets to build for.
Add Travis CI build status somewhere it is prominent.
Bugfix: No more stale connections added when a user tries to add a pool that already exists.
Removed superfluous debug messages.
Fix as_proplist, for get more one query result.
Fix ac_dict.
Rename parameters to better reflect what is going on.
Added registered process names to emysql.app.

Conflicts:
	src/emysql.app.src
Welcome to v0.3.2
Bump README.
Move the build status toward the beginning of the file.
Merge remote-tracking branch 'gar1t/master'

Conflicts:
	src/emysql.erl
Bump version to 0.4.0