Improved wait timeout behavior.

1. World::await() now has timeout logic that is similar to that of WorldGopInterface::fence().
2. The timeout timer of WorldGopInterface::fence() and World::await() is reset whenever the work is done by the waiting thread. So a timeout will occur if no work is done by the waiting thread for the duration of a timeout. This prevents a timeout from occurring as long as tasks are being run.
3. The timeout was changed from 1.3 days to 15 minutes.
4. Users can change the timeout by setting the environment variable MAD_WAIT_TIMEOUT (units are in seconds). A timeout of less than 1 second disables the timeout.
5. TBB will no longer do busy waits.
The minimum number of threads in the thread pool when using TBB is now 1.
Removed an unused function from WorldTaskQueue.