Refactor, move URL path into top of test class

1. Better for Do Not Repeat Yourself purposes
2. Will enable some general test cases which work across both tide levels &
   windows views (ie testing that the location is validated nicely)
Add 2 test mixins for location & time parsing

Now these can be inherited by other view TestCase classes and they'll
automatically get the same set of tests regarding location, ie

`../tide-levels/<location>/`
`../tide-windows/<location>/`

... will be tested in the same way.

Note that these tests are failing, next commit will fix.
Implement fix for first class of test failures

Now an invalid location comes back with a pretty JSON response.
Handle a missing location in the URL elegantly

https://www.pivotaltracker.com/story/show/74031598

[Delivers #74031598]
Merge pull request #23 from sealevelresearch/handle-bad-location-elegantly

Handle a missing/invalid location in the URL