Northamptonshire all-rounder David Willey has been rewarded for an outstanding season with a new three-year contract.