EntityDecoder.decode returns a DecodeResult; abolish ReplyException

@bryce-anderson correctly notes this branch is creeping.  Let's bring this in for a landing.

Closes #96.  Illuminates #43.

Does anybody vehemently object to anything here, recognizing that #43 is still an open discussion?