Configurable timeout on build(), defaults to None

Many commands used in Dockerfiles hang for an extended period of time
without producing any output, which will result in a socket timeout.
Accordingly, it makes sense for build() to specify no timeout by
default.
Break down _post() parameters one-per-line in build()
Handle tcp:// URLs

This means docker-py will do the Right Thing if the base url is set
using the new `DOCKER_HOST` environment variable, for example.
(http://docs.docker.io/en/latest/commandline/cli/)
Merge pull request #139 from aanand/no-timeout-on-build

Configurable timeout on build(), defaults to None
Accept base_url of None

This makes it very simple to get identical behaviour to the CLI:

    client = Client(os.environ.get('DOCKER_HOST'))
Merge pull request #140 from aanand/sensible-url-handling

Sensible url handling
attach() method now parses multiplexing frames

The previous version of `attach` didn't look like it was doing
anything useful, as it just yielded 4096-byte chunks of raw /attach
output, without doing any frame parsing.

Now `attach` is identical to `logs`, except that by default it
doesn't show historical output. `logs` is now a wrapper around
`attach` which sets `logs=True`, and its behaviour is unchanged.
Use relative imports
Merge pull request #142 from aanand/use-relative-imports

Use relative imports
Merge pull request #138 from aanand/container-output-without-logs

container_output() method for streaming the output without logs=1