Topic/plat 6640b

This should provide a framework for caplet stripping, making it straightforward to add new models.  CapletStrippingImp is the main workhorse; it requires a MultiCapFloorPricer (which decomposes caps to a unique set of caplets, and handles pricing) and a DiscreteVolatilityFunctionProvider (which maps model parameters to caplet volatilities) - a new model is essentially a new implementation of  DiscreteVolatilityFunctionProvider. 
CapletStripper is the main interface for caplet stripping, and there are concrete implementations  (which use CapletStrippingImp and provide a  DiscreteVolatilityFunctionProvider).
In tests there are the standard unit tests, and demos, which produce output to be used in Excel. 
Many of the classes (e.g   DiscreteVolatilityFunctionProvider) are not specific to caplet stripping, and should be moved to different packages. 

At what point is `nKnots` asserted as valid?