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
Downgrade snap-core dep.
One more errors version bump
Bump lens dep in the test suite
Add workaround for lens problem and corrected the directory-tree lower bound
Fix hashable lower bound, widen lens lower bound
Remove test suite bounds on lens so it won't conflict with the main package
Set the lower bound to the most recent working version
Grrr, have to duplicate the flag for the test suite
Update project template cabal files with the new lens flag
Bump the lower lens bound to exactly the right version
Revert "Use derived instance for Typeable AppConfig"

This reverts commit fc078d1848fa46edd8a5e0f06f28744d7e0b53d2.
Rework built-in splices for the auth snaplet
If you're using the compiled splices from the last release, this will break
your application because the splices have changed names.
Merge branch 'master' of github.com:snapframework/snap
Add RecordWildCards pragma
Add --force-reinstalls to the test suite
Add a NOINLINE around unsafePerformIO-guarded semaphore in testsuite.
Bump snap-core/server dep.