add_pool/2 - args + options form

The 8 arg form of add_pool can be tedious to use when you don't
care about certain args (e.g. port, encoding are generally the
same). add_pool/2 uses Erlangs arg + options convention to simplify
the use of this function.
Minor spec tweak to note that db can be undefined
Support infinity as a timeout value
Remove timeout from gen_tcp:recv

This timeout value imposes a pointless upper bound on statement execution
time. The TCP layer should be allowed to wait forever on MySQL packets
and reset as needed by a monitoring process. That's what happens e.g.
in the "monitor work" pattern used in emysql.erl -- a statement that takes
too long is killed via a TCP connection reset.