Add support for configurable server ip address

This PR adds support for binding user-configured ip addresses to the server. This is required in some hosting clouds like OpenShift. We need to have a way to provide that to the application.

Example usage:
```
var server = new PeerServer({ port: serverPort, ip: ipAddress });
```