Hash based attributes were not parsed properly by container_get. This
patch fixes that and adds support for tty, attach_stdin, attach_stdout,
attach_stderr, links, port bindings and exposed ports.
Fog was not handling at all the error returned by docker-api. This
commit fixes that and raises an AuthenticationError that can be caught
by Fog clients.
There was a bug in the errors code for container_action that this PR
fixes too.
In order to test this properly, responses from the mock return values
closer to what the API actually returns. Examples are from Remote API
1.18.
downcasing hash keys cannot be performed on all Docker API operations so
now it will only be done where the top element is a hash. Logs, top, and
many others will not return a hash.