Topic/plat 6640 part2

This is the bulk of the new caplet stripping code. The idea is to have a system that makes it easy to add new models. Only a few models are implemented here. Note, some tests are marked as TestGroup.UNIT_SLOW, which will reduce the test coverage on systems that do not run these tests.   
It's only a shallow copy and acts as a stub for adding more constructors (i.e. passing in a transform).