Adds Geppetto Graph Utilities

This commit adds a new bundle that is capable of generating
dependency graphs and create SVG images from them.
Merge branch 'dev' of git@github.com:cloudsmith/geppetto.git into dev
Fixes consistent naming of getLineNumber() method in Diagnostic
Moves check for module name and version presence in Modulefile

This moves the check for existing module name and module file into
the actual Forge metadata reader so that tools like the Geppetto
IDE, the maven validator or the Jenkins validator can share it.
Make choice of guice implementation configurable from parent pom.

When using Geppetto in Jenkins, it is imperative that the Sonatype
sisu-guice is used in place of the normal com.google.inject:guice. Not
doing so leads to incompatibilities.
Adjusts comment width to be aligned with code with (120 character).
Reverts some bad string replacements that happened during refactoring

The refactoring performed when the validation bundle was moved to
Geppetto caused some occurances of 'validation' to be replaced with
'org.cloudsmith.geppetto.validation'. This commit takes care of them.

The commit also contain a clean-up (reformatting) of the code in the
validation package.
Minor speedup

Tests result of Set.add() instead of first testing using contains()
Adds graph tests bundle
Fixes bad test for null in diagnostics runner

A test for null was reversed (tested for not null) which lead to lots
of missing imports in the validation result and ultimately a graph
that didn't contain what it was supposed to.
Fixes regression in test-code for limited dependency graph.
Merge branch 'dev' of git@github.com:cloudsmith/geppetto.git into dev