use child_process.execFile to prevent potential command injection
use child_process.execFile to prevent local command injection
Escape pubkey to prevent local command injection
Escape pubkey to prevent remote command injection on the EC2 VM
Revert "Escape pubkey to prevent remote command injection on the EC2 VM"

This reverts commit 9981003899c70b0b6639591694f5be154ab44b44.
Fixed addSSHPubKey so it properly escapes public keys and
removeSSHPubKey properly removes public keys
Start of the mechanical translation to AwsSum
Change over the 'zones' command to use AwsSum
Port both 'list' and 'test' over to AwsSum
Update the create command to use AwsSum
Use child_process.spawn instead of exec for remote script calls
Fix how the clients (both ec2 and route53) are being created.

Previously, the ec2 client was being created during require('./lib/aws.js')
but this was _before_ the AWS_* env vars were being checked. This is fixed.

Also, we were also checking the valid regions async via the API but AwsSum
already knows what regions are allowed, so this is now sync.
Add the commands listdomains and listhosts for Route53
Update the command findbyip for Route53
Move all DNS to Route53
Remove fmt, no longer needed
Fix the flattening of the various AWS env vars we look for
First part of moving to nice-route53 : listdomains and inUse() ported
Convert listhosts over to nice-route53
Update dns.findByIP() to use nice-route53