Use a random port in createClient

- Stops 'address in use' errors from being so common (although does mean
  more dead apis end up hanging around)
- Allows tests that both use a stub api to be run simultaneously