Support variable assignment in local blocks. This should fix #347 but more testing is needed
Merge branch 'master' into issue347
Removed unused member variable
#347 Deprecated assign()
Hack to track stack size in function evaluation.
Extract PRINTB() from recursion stack.
Use heap for Context object.
Remove big switch statement from expression evaluation.

The switch statement causes a huge stack overhead that is very bad for
evaluating recursive functions.
Initial experiment with using exceptions to handle stack overflows
Minor cleanup of recursion exception handling
Add function to retrieve the maximum stack size.
Add class to determine the current stack size.
Use class hierarchy for the different types of expressions.
forgot exceptions.h
Throw and catch RecursionException on module recursion
Merge branch 'stack-size-hack' of github.com:openscad/openscad into stack-size-hack

Conflicts:
	src/expr.cc
Merge branch 'stack-size-hack' of github.com:openscad/openscad into stack-size-hack
Remove duplicate warning message.
Use StackCheck to detect module recursion
Take a copy of the name of the recursive component, don't use a pointer to a temporary string