Convert node_id from a random number to public_key
New port behavior: default to port 8764 but gracefully choose another random port if it's busy.  If the user specifies --p2p-port, don't fall back to another port if busy, just retry.  Now we do UPNP slightly later in the process so we can map a randomly-assigned port if necessary.

Conflicts:
	libraries/net/node.cpp