Just discovered the <<%= operator which is a better replacement for getAndModify
Refactored changeSupervisorOccupiedStatus
Dropped MTL qualifier.
Wrote and how to compile changeWorkerOccupiedStatus.
Shortened build-examples flag to just examples.
Made use of the supervisor constraint in RequestQueue.
Removed the MonadCatchIO constraint from Supervisor.
Separated the interface code from the implementation code in Supervisor.

This was done because I kept running into
occasions where the routines running in the inner
monad needed to call routines that run in
SupervisorMonad and I eventually decided that the
easiest thing to do going forward was to separate
out the implementation code into a separate module
so that I could have the front-end functions in
one module and their back-end implementations
sharing their name in the implementation module.
Reorganize the occupation statistics data to make it easier to handle.
Added fold markers to the Supervisor.Implementation export list.
Renamed finalizeStatistics --> getCurrentStatistics.
Wrote begin/endWorkerOccupied and flipped the arguments to changeOccupiedStatus
Combined two statements into one using the <%= operator.
Now the worker occupation statistics are computed and showable.