Allow Drush and SSH to accept remote commands as arguments.
Merge pull request #189 from pjcdawkins/drush-ssh-arguments

Allow Drush and SSH to accept remote commands as arguments.
Only warn about hooks on build if there are build hooks.
Clarify variable rebuild warning.
Merge pull request #190 from pjcdawkins/clarify-variable-rebuild-warning

Clarify variable:set and variable:delete rebuild warning
Clarify that build command is local.
Reduce ssh escaping so the command 'platform ssh -i ~/.ssh/id_rsa.pub' works.
Prevent using 'platform get' inside a project directory.
Ensure that 'platform get' to a lower dir will still build the right project.
Merge pull request #191 from pjcdawkins/prevent-recursive-get

Prevent using 'platform get' inside a project directory.
Work around 'operation not allowed' for a stale environment cache.
Refactor URL command (no functional change).
Refactor --project and --environment options.
Display global commands even if they have aliases.
Refactor LocalBuild so it's not static
Skip builds if a tree already exists.