J.J. Watt agrees to 2-year deal with Cardinals