Exposes session key, session store, and session cookie parser

The allows the use of session.socket.io which matches a socket.io connection with a corresponding express session.

There is no dependency on any specific implementations/versions of either express or socket.io.

A simple example using session.socket.io with keystone:

keystone.start(
{
  onHttpServerCreated: function() 
  {
    keystone.app.io = require('socket.io').listen(keystone.httpServer);
    keystone.app.sessionsocketio = new require('session.socket.io')(keystone.app.io, keystone.app.sessionOpts.store, keystone.app.sessionOpts.cookieParser, keystone.app.sessionOpts.key);
    keystone.app.sessionsocketio.on('connection', function (err, socket, session) {
      socket.emit('alert', { message: 'socket.io is connected to session: ' + session });
    });
  }
});

Example html using the latest socket.io v1.x:

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io('http://localhost');
  socket.on('alert', function (data) {
    console.log(data.message);
  });
</script>