Buffer chunked input in Logger#<< to improve output formatting.

Any remaining non-newline terminated line will be buffered in the Logger
until the next `#<<` invocation, and will then be prepended to the next
message. The effect is to only emit full message lines at a time and to
avoid emitting partial lines.
Default to use Chef formatter output for solo & zero provisioners.

The current default behavior of chef-client & chef-solo runs is to use
the default output formatter and a logger with level "auto" (note, not
"info"). Thus, when running Kitchen with its default logging level
("info"), the resulting Chef runs will use log level "auto". When
running Kitchen with a log level other than "info", this value will be
passed down to the `--log_level` flag for Chef. In this way we still get
debug level output when required.
Merge pull request #478 from test-kitchen/chef-formatting

Buffer Logger output & fix Chef run output formatting
added config option 'chef_path' for chef_solo provisioner to be independent of target systems $PATH settings. If 2 different chef versions are installed you can now point testkitchen to the binary directory one you actually want to use. E.g. chef_path: '/opt/chef/bin' to use the omnibus chef-solo instead of the one in /usr/local/bin