Completed Semaphore for Week3 assignment 2
Changed the declaration of the ReentrantLock to Lock in order to declare
it by interface