Cardinals agree to terms with 17 free-agents