Added SetupTest and improved Setup

Setup now has some methods for checking whether setup was successfully
completed. It is also possible to set a global timeout which will cause setup
to abort if no events have been received during this time (from any player).