This decouples `cookieParser` and `cookieSession` by not requiring the `cookieParser` to handle the `cookieSession` signed cookies. This allows the `cookieParser` middleware to be simpler by not having to perform hashing. It also keeps the cookie session functionality contained withing the `cookieSession` middleware. cookieHashes has been removed as it is no longer needed. The hashing was only done for the `cookieSession` middleware
This decouples `session` and `cookieParser` middleware by not requiring the `cookieParser` middleware to do signed cookies for the session middleware. This separates middleware responsibility and allows each middleware to be a bit more self contained and implement signing within session as needed. Eventually this will allow the `cookieParser` middleware to just do the basic functions of cookie parsing instead of trying to do too much.
Cookie parsing and serialization per the RFC is a well defined function that is better provided by a simple library.
Cookies don't need to know about requests to do their job. The request object was only needed to serialize for a signed cookie. This can better be done by the session middleware. This leaves the cookie class to be simpler and focus just on cookie options and serialization. fixes: #574