use more property-based tests for BodyParser

add test documentation
use org.scalacheck.Gen.oneOf to provide arbitrary SimpleResults
test the two cases for returning a SimpleResult with validate and validateM