support for multiple parameter values

changes:
- disallow null for parameter values (Play JSON deserializer will enforce this behavior, unlike json4s).
- collapse sending multiple cookies in a single header (RFC 6265)
- send multiple parameter values to the backend
  - query : `a=1&a=2`
  - cookie : `a=1; a=2`
  - header : duplicates, `a: 1` and `a: 2`
  - path, body : not supported
  - warts :
    - Order is kept when sending to the backend, but does not influence the cache key
    - Parameter versioning only consider the first value
- Normal parameters do not override meta parameters anymore (they cannot, nor should they ever)
- Java client : use a Seq.builder instead of a var.

fixes #20 
This is tricky. I guess it boils down to : can cache-triggering parameters be optional? In which case `null` will happen, in a way or another. We don't have any use case of this yet, so I am not sure how this should go. This is not related to this MR.