Make EntityDecoder.decode return an EitherT to make DecodingException explicit.
Create type alias for EntityDecode results.
Bring back EntityDecoder.orElse.
Fix broken EntityDecoderSpec.
Unify DecodingException with ParseFailure. #43
More testing of the entity decoders.
Remove ReplyException. #43 #96

This punts on making errors explicit in the Client: those still get
thrown as a ParseException.

There is a good argument to be made that the apply method added to
EntityDecoder is server DSL syntax, not functionality of the
EntityDecoder.  It also kind of sucks to use an EntityDecoder on the
server without it.
Merge remote-tracking branch 'origin/master' into topic/entity-decoder-eithert

Conflicts:
	blaze-server/src/main/scala/org/http4s/server/blaze/Http1ServerStage.scala
	core/src/main/scala/org/http4s/EntityDecoder.scala
	core/src/main/scala/org/http4s/ReplyException.scala
	examples/src/main/scala/com/example/http4s/ExampleService.scala
	servlet/src/main/scala/org/http4s/servlet/Http4sServlet.scala
Fix hanging EntityDecoderSpec.
Merge pull request #101 from http4s/topic/entity-decoder-eithert

EntityDecoder.decode returns a DecodeResult; abolish ReplyException