Add logging when recieved {error, disconnected} to diagnose the cause

This commit adds logging the result of `riakc_pb_socket:is_connected/1`
when Riak CS recieved {error, disconnected} from Riak. This forms a
part of long campaign of connection problem between Riak and Riak CS.
`riakc_pb_socket:is_connected/1` returns `{false, []}` mostly when
TCP connection was closed by Riak - or by Operating System. Sometimes
increasing `somaxconn` or `pb_backlog` helps. If the second element
of the return value, the list of reasons when connecting to Riak
(technically, return value of `gen_tcp:connect` might help diagnosing
the root cause, which is usually outside Riak and Riak CS.

Those logging lines are added to major places where disconneced error
was observed. `riakc_pb_socket` could return disconneced at any call,
potentially, but these logging lines will cover most of them.
Make riakc_pb_socket connect option configurable

By default the options is [{auto_reconnect, true}, {queue_if_disconnected}].
This commit makes them configurable by setting riakc_auto_reconnect and
riakc_queue_if_disconnected into app.config (or advanced.config in future 2.0)
Add log line to try to catch timeout at strongly constrained access
Avoid losing logs when auto_reconnect=false
Force format
Update to the PR comments
Merge pull request #987 from basho/feature/log-disconnected-rebased

Feature/log disconnected rebased

Reviewed-by: shino