fix remote_task inside a namespace

Previously defining `remote_task` inside a namespace resulted in
scoping the file name to the namespace. For example file named
config/database.yaml inside shared namespace would result in:
shared:config/database.yml

That is surely unwanted behaviour. Fix is simple. Introducing
Capistrano::UploadTask that inherits from Rake::FileCreationTask.
These Rake File tasks are not carrying the namespace in their name.
Merge pull request #1144 from mikz/upload-namespace

fix remote_task inside a namespace
Fix matching on hosts with custom ports or users set

This is an update of PR #1072 with passing tests
Thanks @cheald

Fixes #1071
Closes #1072
Merge pull request #1157 from shaneog/issue-1071

Fix matching on hosts with custom ports or users set
Disable loading stages configs on `cap -T`
Merge pull request #1078 from sponomarev/remove_stages_from_load_imports

Disable loading stages configs on `cap -T`
Do not raise exceptions when stdio is closed 

Question was calling methods on nil and `Errno::EIO` was raised.

This way you can properly handle `Interrupt` exception.
Merge pull request #1172 from mikz/patch-2

Do not raise exceptions when stdio is closed