Fixed a couple of bugs:

1) Elevators were never going into the IDLE state properly
2) Once an elevator reached the top of the building (the last floor), it
would stay there and never switch directions to receive requests from
lower floors

Also added some primitive error checking in certain spots. Right now,
all error checking is soft-fail. This will be fully implemented in a
later commit
Merge branch 'master' of https://github.com/ethand320/se350