Allow address to be chosen

`Address` is added to `Config` and used in `listen()` to allow choice of interface.  Doesn't break the API, should be safe