Use Groovy 1.8.9 with shaded ASM 3.x

This is part of #784.  This effectively reverts
b1635dcaf0754dcbf1d8dac84e4795b5c6f235ea, which upgraded from Groovy
1.8.9 to 2.3.7.  This commit also configures the shade plugin in
titan-core to hide Groovy 1.8.9's required copy of ASM 3.x under the
package prefix com.thinkaurelius.shaded.groovy.asm.  Since the Groovy
1.8.9 classfiles also need to be rewritten to use the shaded package
name at every ASM type reference and method callsite, titan-core now
includes a copy of Groovy 1.8.9.  The package for Groovy's classes is
unchanged to maintain compatibility with client code in Rexster and
Gremlin-Groovy.  Only ASM has moved.

Furthermore, this commit adds a new maven-enforcer-plugin execution in
the top-level pom.  This execution bans dependencies on the ASM 3.x
artifacts.  ASM 4.x+ is still allowed (since it uses a different
groupId than the 3.x series).  If this enforcer execution finds an ASM
3.x dep, it will fail the Maven build.