Refactored the generic conversion and header conversion code so there is more code and structure reuse.
First attempt at a cookie conversion. There is unfortunately too much duplication between it and the AbstractHeaderConversion.
Added caching of the converted object to the AbstractConversion class.
Refactored the AbstractCookieConversion to reuse the AbstractHeaderConversion logic.
Added a test for converting from and to the same type.