HV-373: XML-based configuration of method-level constraints and group conversions

Creating this PR for review. I hope to have covered all feedback from the discussions:

* element names separated by dashes
* constructor element has return value

@emmanuelbernard raised concerns about the fact that configuring methods using the `<method>` element can influence property validation if the method is a getter method. I'm not sure how we could avoid this, but if you still think this is a problem we should continue this discussion.