Share test app between test specs

Passes a runner function with the same Application
reference to each Spec, rather than creating a new
app each time.
Add followRedirect function to WaiTest

Factors out status check and GET request into a single call.
Update travis file

Adding aeson-qq causes build problems on GHC 7.8 on travis
which doesn't have the latest versions of happy and alex.
Travis's standard haskell config isn't up to the job, so
this makes everything explicit.

See https://github.com/hvr/multi-ghc-travis for more details.