Topic/plat 6658

* Extended SmileInterpolatorSABR into **SmileInterpolatorSABRWithExtrapolation** such that SABR takes left and right extrapolations as **SmileExtrapolationFunctionSABRProvider**. 
* Two choices are available for the extrapolators, **ShiftedLogNormalExtrapolationFunctionProvider** and **BenaimDodgsonKainthExtrapolationFunctionProvider**.
* Smoothness of the extrapolations at cut-offs is tested in **SmileInterpolatorSABRWithExtrapolationTest**.
* Extended SABR-specific methods (and also only right extrapolation can be applied to these methods), CouponIborInArrearsReplicationMethod and CapFloorIborInArrearsSABRCapGenericReplicationMethod, into **CouponIborInArrearsSmileModelReplicationMethod** and **CapFloorIborInArrearsSmileModelCapGenericReplicationMethod** which take **InterpolatedSmileFunction** constructed from GeneralSmileInterpolator.
* Consistency between the old methods and the new methods (in terms of the right extrapolation with SABR) is confirmed in the test class **CapFloorIborInArrearsSmileModelCapGenericReplicationMethodTest**
I'll remove the unextrapolated case from the test. The detail of this test is as follows. 

The inappropriate strike range is due to my mistake: intended to be from 0.001*forward to 2.001*forward. Because the local fit is potentially unstable for small strike intervals as you pointed out, I will change the intervals.

In general SABR parameters obtained by the global fitting are different from SABR parameters for the rightmost interval obtained by the local fitting. But, in the present setup, they are very close due to a specific shape of the vol smile. The mismatch of the unextrapolated case mostly comes from the difference of the integral range.