Made the user identification key optional.

If the user 'key' value is not specified, then a key is retrieved
from the brower's cookie jar. If it isn't there, a unique ID is
created (and put back into the cookie jar).