added MatchWhereStrategy that folds where() traversal clauses into match(). Added one test case around predicate traversals to verify it. Added Step.reset() to allow for reseting a step. Added Traversal.rest() to allow reseting of a traversal. Updated some of the <E2> types in Vertex and Edge as the E2 is known in such situations.