Separate Optional stuff from emysql:add_pool

Logically separate emysql:add_pool API to two stages:
1. Connection establishment (connect to the database server)
2. Miscellaneous options (select database, select encoding)

Now emysql:add_pool/6 takes 6 arguments that are absolutely necessary to
create a pool:
    pool name, number of connections, username, password, host, port.

emysql:add_pool/7 might take a proplist as last argument of optional fields:
    database, encoding

This makes adding optional pool settings much easier without adding more
and more arguments to emysql:add_pool.

Note: Since current codebase heavily depends on knowledge of encoding,
if encoding is not specified, 'utf8' is chosen by default (configurable
in emysql.hrl).
Add per-pool time_zone support
Mandatory `Database` option in emysql:add_pool API

It can be empty ('undefined', "" or <<"">>) anyway, but the use of MySQL
without a selected database is too limited to be practically considered
in the API.