Arguments in math.pow were used in the wrong order, computed (noOfFeatures)^2 instead of 2^(numberOfFeatures)
new IO function addToFile
writing elements which were skipped in the transformation process due to exceeding the duplication threshold into a file
optional functions are now once again renamed, fixes type errors when typechef expands variable functions beforehand
added a new functionality to transform identifiers inside of elements which exceed the variant threshold, this also handles elements which are optional by renaming & removing the optional feature beforehand
changed handling of enumspecifiers inside optional declarations, enumerators inside enum specifiers in optional declarations are now transformed correctly
switched from conditional expressions inside if statements to if statement duplications, reason is that sometimes there are variables with 2 different types and conditional expressions need to have the same address space

solved losing context in compound statements

optional function feature expressions are now calculated correctly.
added fExprDiff in compound statement transformation
Update IfdefToIf.scala

Fixed a bug in loadSerializedFeatureNames (fails if file does not exist)
Merge remote-tracking branch 'origin/master' into alex

Conflicts:
	src/main/scala/de/fosd/typechef/cifdeftoif/IfdefToIf.scala
Merge remote-tracking branch 'origin/master' into alex

Conflicts:
	src/main/scala/de/fosd/typechef/cifdeftoif/IfdefToIf.scala