[ISSUE-95] Send replies from the right source IP address

Fixes #95

I didn't test this enough, but lets see what you have to say about it :)
I tried to keep it as simple as possible.

This has to be tested with IPv6. I guess that IPv6 is not supported yet (shouldn't be too hard to add IPv6 support though), but first lets make sure it doesn't break it.
Yes, we can trim it a bit. I have to check how big this buffer gets when it's using IPv6.
When using IPv4, it's the size of http://golang.org/pkg/syscall/#Cmsghdr and http://golang.org/pkg/syscall/#Inet4Pktinfo
When using IPv6, it's the size of http://golang.org/pkg/syscall/#Cmsghdr and http://golang.org/pkg/syscall/#Inet6Pktinfo

Also, we can exclude it from non-supporting OSs (aka: currently only include it for Linux).