Add type classes to encode a query parameter
Remove AcceptableQueryParam and a test for encoding a custom query parameter
Add methods to add optional query parameter
overload withMaybeQueryParam to accept Option
Add QueryParamDecoder instances and write QueryParamMatcher in term of them
Add law for QueryParamEncoder - QUeryParamDecoder
clean up
update according to code review
Add optional query parameter matcher
Update withOptionQueryParam to withMaybeQueryParam when it takes a Maybe
Merge branch 'query_parameter' of https://github.com/julien-truffaut/http4s into julien-truffaut-query_parameter

Conflicts:
	core/src/main/scala/org/http4s/ParseFailure.scala
Merge branch 'julien-truffaut-query_parameter'