Extended settings for derivatives

1. User can now set the fd_form and fd_step_type for any variable in the model.

2. User can now specify fd_form, fd_step_size, and fd_step_type as arguments to check_gradient.