Make shell bind to correct host.

- RMI is hard-coded to bind to a host specified by a system property, this
  circumvents that by passing in a custom socket factory.
- No fix provided for 1.9, since the host option was introduced in 2.0.
  1.9 users can still specify the host to use by setting the
  java.rmi.server.hostname system property.