Added custom ports, fixed bugs

Ports can be customized for each node, unit tested on a local machine to
verify that files transfer properly.  Still need to test across long
distances, optimize, and polish off.