Make passing network id optional

Some cloud providers (like rackspace) automatically
add your instances to a network without having to
explicitly specify one.

This patch makes passing networks optional so that
you can just use the defaults in environmnets that
support them.
Merge pull request #4 from bodepd/net_optional

Make passing network id optional
Refactor ipv4 validation

Previously, it was possible that get_ip_of_node
might return an ipv6 address. I found that this
caused failures so this patch adds a check that
will try to return the first non-private ipv4
address.

This commit also refactors the public address
valdation code to just use the built in method
from iPy.