make listen accept an IpAddr

I think this closes #26, and is a good way to get a more deep look into the code :)