Fix running functional tests with vagrant

The tests were unable to SSH to the vagrant boxes without the password
Fix connection pooling across threads.

This switches the SSH acqusition from a simple thread-local memoization to a global
pool with checkin-checkout semantics. This fixes connection usage across multiple threads,
most notable when run by the parallel runner.
Make sure the pool honors the idle_timeout
begin...ensure for the yield/checkin
Remove `shellwords` std library dependency

`shellwords` standard library API is not used anymore.
Remove unused `cooldown` accessor

Command class #cooldown attribute accessor is obsolete.
Whitespace police

This is a stupid commit that removes unnecessary whitespace from the
end of lines.
Fix hostname logging for Local backend

Both Formatter::Pretty and Formatter::SimpleText print the hostname
along with each command being executed. But the Local backend doesn't
have a @host, so the output looks like 'running [...] on '.

This hard-codes a null Host into Backend::Local, which is only used for
logging.
Merge pull request #139 from bruno-/cleaning

Some spring cleaning
Wrap exceptions to include the hostname

Wrap all exceptions while executing in a ExecuteError so that the host
where the exception occured can be identified.
Merge pull request #147 from bhoflack/WRAP_EXCEPTIONS

Wrap exceptions to include the hostname.
Merge pull request #141 from adammck/fix_run_locally_logging

Fix hostname logging for Local backend
Merge pull request #137 from cheald/fix_multithread_conn_pooling

Fix connection pooling across threads.
Merge pull request #87 from lmars/fix-vagrant-tests

Fix running functional tests with vagrant
Merge pull request #143 from townsen/master

Delay interpolation in as() block
Add changelog links to GH compare view
Remove "Known Issues" from README
Don't colourize if stdout is not a tty.
Deprecate background() helper
Remove Rubinius from the travis yaml