moved make/removeDoor code to s_ funcs

also made tail recursion explicit in leaveGame, makeDoor, and removeDoor
receive cases