I agree this odd/even eval() functionality is not special for sec and csc, but for ALL functions. This should be supported in Function base class.

Also for eval() of periodic functions, this should go into a a common PeriodicFunction class, which TrigonommetricFunction subclasses. 

I am anyway too rookie for such big class hierarchy rework, so I decided to restrict myself to sec/csc.

Further refactoring can be done in subsequent Pull Requests.