utils.localinterfaces: Add PUBLIC_IPS to consolidate socket logic

Consolidating IP detection in this module will let us remove
socket.gethostbyname_ex calls from other modules and ensure that
everyone agrees on what our public IPs should be.
parallel.apps.ipcontrollerapp: Use utils.localinterfaces

... for LOCALHOST and PUBLIC_IPS, rather than duplicating the socket
incantation and hard-coding 127.0.0.1.
frontend.html.notebook: Use utils.localinterfaces.LOCALHOST
parallel.util: Use utils.localinterfaces

... for LOCALHOST and PUBLIC_IPS.
parallel: Use utils.localinterfaces.LOCALHOST