Additional protection from possible stackoverflow

We are going to use Jint in the production at the back-end of highly customizable cloud web application. The source of the scripts will be our users so we can not trust to the scripts. Moreover if user accidentally writes script which causes stackoverflow it will shut down the whole application. As soon as we can not afford it we will use in production version of Jint with two additional options preventing uncontrolled recursion as a main source of accidental stack overflows. 
See unit tests to get an idea how is going to be used.
You really need to implement this one. In the current case you could return `obj.Function.GetHashcode()` or a combination of `obj.CallExpression` and `obj.Function`.

Something like:

```
var result = (obj.CallExpression != null ? obj.CallExpression.GetHashCode() : 0);
result = (result*397) ^ (obj.Function != null ? obj.Function.GetHashCode() : 0);
return result;
```