[netstack] correctly handle link-local addresses

This is copied from gvisor:

- https://github.com/google/gvisor/blob/5f08f8f/pkg/sentry/socket/epsocket/epsocket.go#L181-L251
- https://github.com/google/gvisor/blob/5f08f8f/pkg/sentry/socket/epsocket/epsocket.go#L1300-L1345

Test: None
Change-Id: Ia802af8f7fe530161bad93afc7bc03bd50481de4
3 files changed