added MemorySession class
added PreconfiguredSession class

PreconfiguredSession just echoes session data that was given in the initializer.
always set environ['REMOTE_USER']

so far, environ['REMOTE_USER'] was not set when username was not set or empty string
now we can depend on environ['REMOTE_USER'] being set in a valid session
(even when it is a PreconfiguredSession, even when username is empty string)
let result of BaseSession.get_session indicate whether new session was allocated

this can be used to detect whether cookies are enabled in browser of user
added login_scheme parameter to authenticator

to force the use of given login scheme for login_url and
for the (original) request to which we redirect in case of succesful login
avoid redirect (loop) to login_url after succesful login

thus, when the original request is identical to login_url
after succesful login, we redirect to '/'