- Review comments from Aaron and Sergey incoroporated
- eval() refactored from csc() and sec() to ReciprocalTrigonometricFunction
- eval_rewrite_*() modified to avoid rewritting to reciprocal, if
  reciprocal function cannot handle rewrite request
- added a few more tests