added test case to repeat error in #13

checks to make sure the server does not crash and instead returns a 400 when invalid timestamps are provided
added error handling in API to fix issue #13

catches the ValueError thrown in resources.py if an invalid timestamp is passed as a parameter and raises a BadRequestException, allowing it to propogate up into api.py where it is returned as a BadRequest (400) to the client with a useful status message.