Added StateException, EmptyException and FullException. Also changed some classes to utilize them (except FullException; it will take more work).