Improving validation error messages

Better error messages make it easier for people who are developing against this API
Validation code now raises an error if 'delta' is zero

Delta is used in conjunction with date to define a relative date range. A date range cannot have a size of zero.
Adding relative date range functionality and tests

We need to be able to generate start_at and end_at pairs from requests for relative amounts of time.
Fixing bugs in parse_request_args()

Previously the relative date code was not converting delta to an int and not using the period's start/end methods on date to calculate start_at/end_at
Adding tests

We need to test that the start/end dates are using the period's start/end boundaries correctly
Make exception_handler handle all exception types

Previously exception_handler expected exceptions to have name and code attributes. We now default to 'Internal error' and 500 respectively if these attributes do not exist.