Use Generic Session for all session handling

For your consideration.

See https://github.com/rvagg/node-generic-session

In this PR, all session handling is handled by Generic Session, the main role for redsess is to handle the redis interaction.

An alternative approach would be to just export a Generic Session compatible Store (i.e. RedStore) and allow the user to piece the two together but that would break the existing API so I've left the external API pretty much the same--I haven't touched the tests at all so you can see it's the same on the outside.

Defaults and `options` properties are the same as redsess. If this PR looks worthwhile then I'll give you commit access to Generic Session so you can tinker in there too if you feel the need.