Don't overwrite previous res.cookie() calls

Because this module's cookie-setting logic runs at the end of the request (by wrapping writeHead), it overwrites all previously-set cookies for the request.

This change follows express's setCookie() solution for multiple cookies set in one middleware chain: https://github.com/visionmedia/express/blob/master/lib/response.js#L599
Moving from connect to express 4.0.0-rc3

Because if this project is meant to replace the bundled middleware in 3.x for those who have moved to 4.x, it should be tested against 4.x.

Also, connect patches core http methods so behavior is in fact different now between express and connect.
Add new test verifying prevented cookie overwrite

This is an example of something that the connect unbundling changed. res.setHeader, when connect has been loaded, properly checks the previous value and creates an array or adds to the existing array.

Express 4.x, without connect, doesn't have this built-in collision prevention logic.
Merge remote-tracking branch 'guy/fix-overwrite-cookies'