Better cookie support in Request/Response

This PR actually completes the work of @mikegreiling in pull request #902 which is a step toward solving issue #618.
This should probably become `mixed` now. As a rule of thumb, if you have more than 2 types than it becomes _mixed_.