Merge pull request #55 from dieswaytoofast/develop

Clean up how connection_args are treated
Add automatic handling of the lazy destination refresh method cpg messages within the cloudi module (using the cloudi:destinations_refresh/2 function is still the best way of having recent service name destination data). #58
Tweaks to the cloudi module to minimize the lazy destination refresh updates (i.e., avoid extra updates)
Add default cloudi_core configuration.
Make sure the cloudi module has all the types. #61
Update cpg. Add the CloudI Service API function service_subscriptions/2. #60 #57
Fix cloudi_service_handle_info/3 exception stacktrace logging.
Fix cloudi_service_map_reduce resend on first few messages.
Update cowboy to 0.9.0. Fix some type errors. Fix cloudi_runtime_testing random usage.
Fix the CloudI release so no included CloudI services have their Erlang application dependencies started automatically.
Fix service request and info message queuing when cloudi_service_init/3 is executed and duo_mode is true. Add the request_timeout_immediate_max service configuration option to provide destination monitoring for long timeout values. #62
Add a synchronous mode to the cloudi_logger to prevent excessive memory consumption and system death.
Add a lower limit for switching the cloudi_logger back to async mode.
use a predefined pool for keyspace ops
Obscure bug involving 'fake' keyspaces being visible

* A pool is spun up for each keyspace
* If a keyspace doesn't exist, but is 'used' (e.g. describe_..)
        then the pool is spun up
* This causes subsequent requests (after the pool is created)
        to fail, since the pool is dangling
* The solution is to use a predefined pool for all keyspace ops
        and to start this pool up if it doesn't exist