Fix "Used undeclared" from mvn dependency:analyze

Means that the dependencies actually *used* in a module's code are
reflected in pom.xml (and not merely implicitly on the classpath due to
a transitive dependency)
Refer to brooklyn project inter-dependencies consistently
Specify dependency versions in root pom.xml ONLY

Goes through all child pom.xml files and removes version from each
dependency; specify all versions in a <dependencyManagement> section of
the root pom.xml instead. Ensures that we will not be introducing
conflicting version numbers.
Remove apache-rat-plugin version in child modules

It is only required in the root POM.
Prevent swagger from importing slf4j

Without this, there will be "multiple SLF4J bindings" exceptions
Merge and close #85