Added Hagan pricing engine for irregular swaptions.

Thanks to Andre Miemiec.