Switch to Either in loginByRememberToken return type

Most login related functions were already using Either for returning
login related errors.  Convert loginByRememberToken from Maybe to
Either to be consistent with the rest of this module's error handling.

Fix unit tests for the new loginByRememberToken type
Return () instead of AuthUser from forceLogin

forceLogin was returning an AuthUser for no apparent reason.  It
wasn't clear what the callee of this function would do with the
returned (unchanged) AuthUser, so use ().
Major version bump
Fix spacing
Accept the newer version of Heist
Version bump
Bump lens upper bound
Add modules for only compiled or interpreted heist functionality.
Add compiled splices for a user
Fix bug from lack of upper version bounds in the errors package
Use the latest version of either instead of setting an older upper bound
Small documentation fix
Update version bounds in project templates

Match the versions in the main snap.cabal file.
Merge pull request #73 from fpotargent/versionbounds

Update version bounds in project templates
Update SimpleLoupe to ALens' for lens-3.8 and forward
Use derived instance for Typeable AppConfig
Merge pull request #74 from glguy/master

update to lens 3.8 names and used derived typeable instance
Add MonadReader instance for Handler
Add a new function loadAppConfig to provide app configs in the IO monad
Update version dependencies for errors, either, and logict