Allow deep attribute access in dynamic loading utility.
Allow deep attribute access in dynamic loading utility.

Summary:
This will help for parameterizing access to methods of singleton
objects, such as the `msgpack` codec:

    >>> from pgshovel.utilities import load
    >>> load('pgshovel.contrib.msgpack:codec.decode')
    <bound method MessagePackCodec.decode of <pgshovel.contrib.msgpack.MessagePackCodec object at 0x101d95f50>>

See also: D17954

Reviewers: tail, jeff

Reviewed By: jeff

Differential Revision: http://phabricator.local.disqus.net/D18049

fuziontech/pgshovel,disqus/pgshovel,disqus/pgshovel,fuziontech/pgshovel,fuziontech/pgshovel