Make rostest use a random master port

Opening #466 against indigo

Modify rostest so that it uses the rosmaster API to start an in-process master with a random port number, and then use the resulting master URI for the following launches.

This allows me to run tests in parallel (with the appropriate make -j flag), and speeds up tests on my quad-core machine by a factor of 3.5.

This fixes #141
Please keep the `port` as an optional keyword argument which defaults to `0` or `None`. That still allows it to pass in a custom port.