Add a basic application middleware

Use gorilla mux for handling the actual appplication

Application creates a middleware that contains a mux instance.
Attach your application URLs using Mux.

RequireAuth middleware has 3 concepts baked in

 - an authentication URL
 - public URLs that don't require any authentication
 - the concept of an auth cookie
Make validation of auth cookie callback based

Caller can now supply their own validation algorithm via a closure