optionally dump SDG to given outputstream (e.g. file)
do not eagerly compute covering components for all SDG nodes/nodes for all program parts

...but lazily
optimizations in JvaMethodSignature/JavaType

* precompute string representation (and make equals rely on that --> faster equals)
* precompute hashCode (and make hashCode rely on that --> faster containment check in HashSets)

Both optimizations are possible due to immutability
several optimization in SDGClass/SDGMethod/SDGClass

* store ClassLoader in SDGMethod (so that there is no need to locate SDGNodes for SDGInstructions
		first, just to get the class loader...)
* group SDG nodes by procedure while traversing the SDG the first time (later, while constructing
		SDGMethods, we can use this precomputed map to get all nodes of that method, instead
		of traversing the whole SDG every freaking time...
adding an optional manual sdg parser that reads sdg files from file using less heap space - for really big sdgs
warning: this parser is more fragile and does less error checking then the original antlr-only version
more utility methods for parameter nodes
repair findCoveringProgramPart()

after the latest optimizations, important (and VERY expensive) precomputations are not performed
anymore, so that findCoveringProgramPart() always returned null. Now, the program part is tried
to be found by using only local checks (on the node itself or on nodes in its neighborhood). This should not only deliver a result (at least for the cases of interest) but also be much cheaper.
cleaning up manual sdg parser
added tests for manual parser