add support for weak exports

(and generally flags, although no other flags are used yet)
add additional error subproject for generic error reporting infrastructure
first attempt at checking for integer overflows

pointer arithmetic / array access only
checking for integer overflows in function parameters for security relevant functions

functions are hardcoded, currently malloc, realloc, and calloc only
better error reporting with location information

for rewritten expressions (arrays and unary expressions)
reduce false positives

previously any assignments created a security context
warnings about integer narrowing
ignore SecurityWarnings in existing test cases

causes many false positives (or just warnings, not errors) that we do not care about here
enforce function (fix compiler error)
more compact print function for BDDs

avoids explosion to DNF, but potentially still not optimal
change license GPL v3 -> LGPL v3

after internal discussion with all contributors
update parameter list with genpages.sh
add paper link to variational programming paper
Merge branch 'master' into integervulnerabilities
refactor option infrastructure

all option parsing goes on in the frontend project now. all other
projects only have an interface with the options they can process

the frontend binds all those interfaces together into a command-line
interface
introduce options for the type system and analysis
guard security warnings by commandline options
refined option printing once more
extra command-line option to decide whether to rewrite line numbers

note: default behavior changes!
also fixes that after rewritings tokens always refer to the output file
TypeError -> TypeChefError extracted into separate project

allows different projects to use the same error reporting facilities