Drew Brees signs long-term contract with Saints