Notable differences between the Bonding v1 and Bonding v2 smart contracts

Change to handling of bonding shares upon deposits/withdrawals using the bonding contract

Functions implemented for seamlessly handling migration from bonding v1 to bonding v2

$$ sum(LP1Duration1.....LPnDurationn)/sum(LP1...LPn) $$

Other Design Modifications