Extensibility APIs and Convenience classes

Commit e46a97f adds a convenience constructor for reading a file
Commit e2c0ed1 adds extension points for preprocessing steps before the information flow problem to be executed and also support different interprocedural CFG objects through a factory. The latter is required by my approach.