TINKERPOP-2235 Major refactoring and introduction of ScalarMapStep

ScalarMapStep extends and replaces MapStep as the "easy" way to implement a new MapStep. ScalarMapStep works nicely when you don't have to fuss with null logic and is still appropriate for use in those cases where a step will not produce a null value (e.g. addV()). For all other cases, you basically have to extend MapStep directly and implement processNextStart() by hand.
40 files changed