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 not an abstract class. However since it doesn't know what smile model is being used, or how the parameter term structures are represented, there is no way to provide a sensible starting position.