Fix issue 3744

The calculate_series in gruntz.py should always return a non-zero        value for nontrivial expression.  Let's do some cheap         simplifications to check the result is not zero and         call nseries() with increased n if it is.

This pull also add check for zero output in the Add._eval_as_leading_term()