Collection of changes driven by use in gradle-docker and on Windows

* Use .gitattributes to control line endings for the entire repository as suggested by GitHub (controlling on a per-client basis leads to too much churn).  This was main driven by a need to keep the *.sh files with Linux line endings so that they would work in the tests (otherwise Linux doesn't know how to run them).

* Changed the default port to match that used by the current version of Docker (the readme says this is the port used, so I'm guessing this was just an oversight).

* Added a toString() method to each command so that they can be printed in a form similar to that of the docker client command line.  This is handy when tracing the execution of commands (such as during a gradle build with --info).

* Attempted to address an issue relating to the logging of binary request/response payloads (such as the tar sent on a build).  On both Windows and OSX this causes the console window to freeze.  There was a commit in the old repository to address this by completely disabling logging.  The approach here is only to skip logging of requests with content types that are known to be problematic.

* A few test tweaks -- one which catches if there is a major issue creating a new image and another which attempt to exercise the new toString code (without going to the trouble of verifying every combination).