Adds newNonLoopbackForNetworkInterface

This is needed to allow the user to specify the ROS Hostname.

An example application can: Run the ROS application through a VPN connection. The user would like to use the tunnel interface to creates the nodes and master.

While rebaseing I noticed that some commits from September 19th were removed from master. Was this intentional?