Added Static analysis and fixed violations.

Codenarc is executed as part of gradle build now and runs before the
test phase. Violations will stop the build from finishing. It does not
run codenarc against the unit or integration tests currently. Rules are
configured in codenarc.groovy. I added what I thought was a reasonable
set of things to ignore based on existing code conventions (i.e.
allowing single line if statements and not requiring single quotes for
non gstrings.)

Cobertura was added for code coverage but it isn't including the
integration tests which results in the test coverage being very low.