Assignment 3: Replaced SimpleSemaphore with code from A2
Assignment 3: First-pass implementation with correct output but failing
test
Assignment 3: 
* CountDownLatch is now initialized with number of threads
* Moved CountDownLatch#countDown() outside for loop
* Removed check for InterruptedException on CountDownLatch#await()

Test passes!