Redo of pull-request #28 against head.
Excluding the "secure_with" option in original PR since it looks like someone else merged that in separately.
making ssh port configurable
@jwmarshall The foodcritic warnings are not specific to this PR. I'm going to merge and we'll deal with those warnings separately.
Note: there is a feature-branch to cleanup foodcritic warnings