merging cache headers instead of overwriting them all

fix #75 

please review thoroughly. the tests think its ok, but i am not sure if i thought about every possible situation.
seemed like a good idea until i tried: https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpFoundation/Response.php#L943 the boundary between symfony convention and the http spec is between Response and the ResponseHeaderBag it seems. in some places it must be the `_` notation. it also looks very messy in the array passed around when some things are with hyphens and the rest with underscore. so i feare we need to keep it like this.