Add HTTP::Cookie#session? as an alias for #session.
Make HTTP::Cookie.parse() reject cookies longer than 4096 bytes.

This limit is defined as HTTP::Cookie::MAX_LENGTH.
Fix saving in the cookies.txt format.  Expires values were broken.

Remove duplicate and incomplete tests.
Add HTTP::Cookie#expire.
Make HTTP::Cookie#expired? optionally take a time.
Do not store a cookie if it is already expired at the time of adding.
Add HTTP::Cookie#set_cookie_value, and alias #cookie_value to #to_s.
Use multi-assignment.
Implement HTTP::CookieJar#empty? without an argument.
Introduce an abstraction layer for saving (serializing) CookieJar.

CookieJar#save is the new name for the now obsolete #save_as.

CookieJar#save and #load now accept IO-like instead of a filename.

Change the YAML file format, and make #load discard incompatible data.
Introduce an abstraction layer for the cookie store.

CookieJar#jar is removed and #store is added instead.
Cap the numbers of cookies per domain and cookies total, respectively.

This is implemented in HashStore#cleanup(), which is automatically
called by #add() after every 150 updates.
Add error messages to make migration from Mechanize::Cookie easier.

Add a section to elaborate on the incompatibilities to README.md.