modify rostest to wait when other instances are running

Until now rostest just fails when another instance is running. With this modification it actually waits (with a message) until other instances have finished. Than allows catkin to drop it's special handling of running unit tests single threaded.

For a workspace with the base ROS packages the time necessary to run the unit tests is reduced by roughly 15%. The result might vary significantly bases on the number and kind of tests and their order in CMake. (E.g. it does not prevent CMake to schedule N rostests where N-1 of them will ust be waiting.)

@tfoote @wjwwood Please review.