update version 2.4.0
Merge branch 'v240'

Conflicts:
	src/xtc/lang/cpp/ConditionEvaluator.java
	src/xtc/lang/cpp/HeaderFileManager.java
	src/xtc/lang/cpp/MacroTable.java
	src/xtc/lang/cpp/Preprocessor.java
	src/xtc/lang/cpp/SuperC.java
fix use of macrofilter in xtc again

(lost in merge)
share a single BDD instance across multiple executions through the LexerInterface

previously tests would run out of memory
make visitor cache nonstatic to enable garbage collection

previously would hog memory (especially big bdd caches)
Merge branch 'xtc239'
add travis instructions
adding missing xtc 2.4.0 files