Fix overwriting of session.cookie, change tests to use uniform data with real cookie instance

This PR fixes #76 by making the default `_serialize_session` function copy session properties to a new object and handle converting the cookie instance to an object without changing the original session.

In addition, tests have been changed to use uniform test data that includes an instance of `connect.session.Cookie` and each test now checks for deep equality between the input data and the session data in a more consistent fashion. This makes tests more real-world as the data is more representative of actual data that will be encountered.