New tool for graph visualization.

Add tool to visualize statements of a function along with various
edge types.
New tool for program slice visualization.

Add tool to highlight intraprocedural program slices within a graph
representation of the corresponding function.
Merge pull request #2 from a0x77n/visualization

Visualization of different graph representations for functions.
Fix for location.py.
Cleanup of joern-tools.
Renamed tools so that they start with joern-, allowing people to see which tools are available using shell completion.
joern-list-funcs.
Clarification in comment for DemuxTool.
JoernTool now uses DBInterface, making custom steps available. Removed unused import.
Remove code duplication by making TraversalTool a JoernTool rather than a PipeTool. This also ensures that DBInterface is used to connect to the database.
Remove unused import and related fix for joern-location.
Remove unused import.
Split off command line parsing from PipeTool since this allows us to use it in non-pipe tools as well.
Introduction of StartTool. joern-list-funcs is now a StartTool.
Added some utility traversals for slicing.
Changed signature of forwardSlice and backwardSlice to accept a list of symbols as opposed to a single symbol.
Added joern-slice.
More convenient output format for joern-slice.
joern-transform.
Added AccTool that fires queries in batches resulting in a significant speedup. joern-location already makes use of AccTool.