Set AttachStd* attributes according to detach and stdin_open commands, analogously to the docker cli
attach_socket() method for just getting the HTTP socket
Refactor HTTP error reporting

- `APIError` class extends `HTTPError`
- Custom error string logic moved into `APIError.__init__()`
- Conveniences: `explanation`, `is_client_error()`, `is_server_error()`
- Strip trailing newline from explanation
Call _raise_for_status every time we make a request
Enable overriding of APIError explanation. Override explanation for missing image in run().
Remove custom error code handling
Remove redundant status code check from _result()
Implement top()
Implement client.copy(), which works much like export()
Merge pull request #36 from aanand/get-attach-socket

attach_socket() method for just getting the HTTP socket
Merge pull request #37 from aanand/set-attach-attributes

When creating a container, set Attach* attributes according to detach and stdin_open arguments
Fixed #33 - make client commands more consistent
updated README
Merge branch 'master' of github.com:dotcloud/docker-py into issue-33

Conflicts:
	docker/client.py
Merge pull request #40 from denibertovic/issue-33

Fix issue 33
Fixed several auth bugs
Cleanup, externalized into modules, fixed auth
Added license header to .py files
Use pseudo-constant for index URL
Fixed some issues with Client.pull + added auth support if version>=1.5