Fixed starvation of waiting processes

  When a connection is replaced it was not given to a
  waiting process. This fixes that. Also when additional
  connections are added to the pool, waiting processes
  are now served from those connections.

Conflicts:
	src/emysql_conn_mgr.erl
Unified connection locking code
Merged internal lock_connection and lock_connection_or_wait handlers

Conflicts:
	src/emysql_conn_mgr.erl
Merged internal replace_connection and unlock_connection handlers

Conflicts:
	src/emysql_conn_mgr.erl
Avoid orphaning opened connections in emysql_conn:open_connections/1.

Conflicts:
	src/emysql_conn.erl
Sacrifice an unused function to the gods of void.
Fixed code path allowing a connection to remain locked forever.

Conflicts:
	src/emysql_conn.erl
Fixed bad arity bug introduced in 'Added wait queues per pool'.
Added wait_for_connection/2 for specifying a lock wait timeout.

Conflicts:
	src/emysql_conn_mgr.erl
Moved emysql_conn_mgr pid lookup into emysql_conn_mgr module.

Conflicts:
	src/emysql_conn.erl
	src/emysql_conn_mgr.erl
Fixed what was a 'nop' exit call.

Conflicts:
	src/emysql.erl
Fixed code path resulting in orphaned tcp sockets that remained opened forever.

  Because the socket ownership was passed off immediately, when open_connection
  failed and called exit(), the socket was orphaned.  Eventually this could
  lead to hitting the system's max open sockets and the process crashing.
  So, ensure we catch any errors and close the socket (since the caller might
  also be catching errors) and don't pass off ownership until the connection is
  fully created.

Conflicts:
	src/emysql_conn.erl
Fix a wrongly defined name in a call.
Change all Common Test Suites to use ct:log over io:format.
Coalesce like paths, remove an unneeded function.
Join more code paths.

There is no reason to have two very similar code paths when one code path could do.
Coalesce all code paths for connection replacement into one.
Change a name to make it correct.'
Add the ability to run the dialyzer on the project.
Fix a warning from the dialyzer due to a wrong transcription of code.