Logic to discard recursion if needed is introduced + simple test
additional changes to previous commit
Should rfecognize recursion even if call is hidden in different variables
Additional test
Introduce more informative data about discarded recursion + test + changed logic of recognizng recursion
Another, less strict way to be protected from stack overflow caused by recursion
Add JintInteropException exception to handle exceptions better on the Jint consumer side
Revert "Update tests to use a custom timezone in the case where the local timezone happens to be UTC"

This reverts commit ef82866f90aa513b2d19f8f14a6d14427e7442ab.
Merge remote-tracking branch 'upstream/master'
Revert "Revert "Update tests to use a custom timezone in the case where the local timezone happens to be UTC""

This reverts commit 7112c0aa6bb6926b82475d16fef2282af2ab8028.
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'

Conflicts:
	Jint.Tests/Runtime/EngineTests.cs
	Jint/Engine.cs
	Jint/Options.cs
Fix for bug found during running unit tests
Replace DiscardRecursion with option to set MaxRecursionDepth negative
Remove empty lines
Introduce structures to manage CallStack nicer and faster
Finalizing post review changes
Roll back interop exception improvement in order to make as separate pull request later
Remove todo comment