Topic/reqs 147

This PR covers the addition of objects in the platform to support convexity adjustments during curve calibration. These are fairly simple joda-beans which some validation to ensure they are correctly satisfied. The validation is the main target of the test code.

A subsequent PR will cover their usage in the curve calibration.
This will fail if someone defines the first tenor using Tenor.ofMonths(0) or Tenor.ofYears(0). Is that a problem?