Made some bond pricing functions virtual.

This should allow overiding dirtyPrice(...), cleanPrice(...) and
yield(...) methods.  This could be useful when a bond pricing
methodology substantially deviates from common market principles, for
example when accrued interest for calculation of clean price from dirty
price is different from accrued interest for settlement purposes (e.g.
Canadian fixed income conventions).