Introduce Subject class

Replaces simple text type for user information.
Refactoring processAuthorizationRequest
Refactor scotty code for reuse in tests
Create scotty module
Limit imports from Jwt in Token module

Prevents name clash with Aeson’s 'decode' function.
Move from Yesod to Scotty

Supporting Yesod is just adding extra complexity at this stage and basic
things like supporting different types of authentication in the same app
are a bit too complicated and inflexible for the simple requirements of this
project.

This commit 

- Moves the tests and app support entirely to using Scotty.
- Adds a WaiTest module which is more or less analogous to Yesod.Test

The test module allows us to write tests along the lines of yesod-test
but more closely aligned to the requirements here. It has no dependencies
on the other project code. It’s also built on wai-test, which provides basic
support for sending requests but doesn’t handle cookies or maintain any
other useful state.