DRY up the client syntax
More client cleanup
Merge branch 'master' into topic/ClientSyntax
Remove unnecessary exception
Refine client on syntax to allow multiple accepted messages
How did this get in there?
Client changes

* Some name changes for syntax methods
* Syntax is now value class based
* Moved Result to the client package
Fix blaze-client tests
Allow implicit resolution of EntityDecoder in client syntax
Add a test, change a signature. Move client syntax from dsl to client package.

The client `on` function cannot be changed to `onStatus` without interfering with the currently in place `onStatus` which takes a partial function. This may be on the way out in a few commits anyway.
Refactor client syntax

Request on syntax now take the form of
* Request.on(Status).as[String]
* Request.as[String] // shorthand for Request.on(Ok).as[String]

The Result type was removed in favor of `.as[(Headers, T)]`
Merge branch 'master' into topic/ClientSyntax

Conflicts:
	client/src/main/scala/org/http4s/client/Client.scala
Use traits to "tag" the Method types

Properties such as Samantics and HasBody can be represented with traits
Some renames
Another change to client syntax
Add prepAs to allow for generation of Accept header
Make EntityEncoder invariant.
EntityEncoder isn't contravariant anymore, but cheer up, it's Contravariant.
Merge pull request #114 from julien-truffaut/master

Fix #111 add helper method encodeBy for QueryParameterEncoder
Merge pull request #113 from http4s/topic/invariant-entity-encoder

Make EntityEncoder invariant