Added different derivative for heurisch: _eval_heurisch_diff

closes #7259, #4300
Yeah, that's kind of right. Alternatively one could also add a generic `_eval_heurisch_diff` for the chain rule on `Function` and have a function like fdiff_heurisch...
As `_eval_heurisch_diff` is used rather seldom, I though just to "reinvent" the chain rule.