Sooo many changes | UPnP support

Added Nicely UPnP support. Port now is Generated, and when you want to
connect with someone have to provide port and IP.