Allow tasks to run with no host

Now instead of raising 'No matching hosts!' in the Coordinator, SSHKit
instead will 'run' the command using a Null runner and backend, printing
a warning via the configured output that includes the printed command
that is being skipped.

This commit allows Capistrano to perform deploys were some roles have
been filtered (https://github.com/capistrano/capistrano/issues/446)