Remove trailing ;.

This prevents empty keys from sneaking into the parsed data.
Extract cookie code into a separate class.

Having a separate class for cookie jar features makes it much easier
to write tests and verify that cookies are being handled correctly.
Fix property declaration.
Update Client to use new Cookie jar object.

This makes the cookie implementation better follow the specs,
and reduces the internal complexity of Client as well.