Initial commit of profile_metrics round 2
fixed ProfileMapReduce and GlobalMetrics.
Profile() integrated fully with XXXTraversal. Added a Traversal.SideEffects.ifPresent(Consumer) default method. ProfileMapReduce is so basic and beautiful.
merged master.
Hooking up toString. fixing some counts
added ProfileTest and GroovyProfileTest. Connected it to the TestSuites.
added a private noargs  constructor to StepMetrics for Kryo and use in multi-JVM OLAP environments. Tested on Giraph manually.
a TODO so I don't forget to do.
Rename GlobalMetrics to TraversalMetrics
Create StepMetrics interface for public API. Rename count to traversers and bulk to count. Fix counters for FlatMapStep
Clean up toString output
Clean up toString output
merged master
Merge branch 'profile_metrics_2' of https://github.com/tinkerpop/tinkerpop3 into profile_metrics_2
Use system property to enable profiling
merged master/.. looking good, tests pass.