Fix GSCore::parseIpAddress

Before, it would not initialize to passed IPAddress object to zeroes,
effectively adding the IP address being parsed to whatever values
happened to be in there.

A symptom of this would be that only the first UDP packet would be
succesfully received, but any subsequent ones would fail.
Fix GSUdpServer::read()

Before, it would interpret the valeu of GSCore::readData as the number
of bytes read, even though that is really just the actual byte read.
This correctly updates the number of bytes remaining in the current UDP
packet, making reading of UDP packets work.
Add TODOs