Return an error_packet if a prepared statement is given an error.

If a prepared statement is given the error atom as an argument then
don't send it to the server, but shortcut and return an #error_packet{}
instead.

This makes it easier to debug the problem, and avoids sending garbage to
the server.
Use default_timeout() for TCP timeouts.

Use emysql_app:default_timeout() instead of hardcoding ?TIMEOUT for the
TCP timeouts.

This makes it possible to have timeouts that are longer than 8 seconds
(previously the TCP layer would time out at 8 secs even if the higher layer
set a long timeout).
Merge branch 'configurable-tcp-timeout' into tipbit-master