catch socket.error in utils.localinterfaces

instead of socket.gaierror, which is a more specific subclass.
Some failures (e.g. connection timeouts) are not gaierrors.

Alternately, we might want to just catch any Exception.
Merge pull request #3354 from minrk/socket.error

catch socket.error in utils.localinterfaces, instead of socket.gaierror, which is a more specific subclass.  

This protects against certain failures seen on Ubuntu 13.04 but which could conceivably happen elsewhere.