add expression builder methods for 0-or-1 quantifier
add comments
redefine stopToStop nonterminal, fail on null back edge
add marker interface for station edges
remove OnBoardReverseEdge marker interface

This interface was "implemented" but the information that certain classes were onboard during reverse searches did not appear to be used anywhere. In addition, it is not clear why the onboard/offboard status of an edge would depend on the direction of a search. A review of how OnBoardForwardEdge and OnBoardReverseEdge are being used indicates that OnBoardForwardEdge is simply being used to mean "onboard edge". OnBoardForwardEdge is also not really a marker interface since it contains a stop index (which appears to actually be a hop index, in the sense that it's the stop index of the from vertex).

This table summarizes which classes implemented which interfaces at the time onboardReverseEdge was removed:

           OBForwardE  OBReverseE
FreqBoard  YES         NO
FreqHop    YES         YES
FreqDwell  YES         YES
FreqAlight NO          YES
PattHop    YES         YES
PattDwell  YES         YES
PattIDwell YES         YES
TransitBA  YES         NO
OBDepartPH YES         NO
rename OnBoardForwardEdge to OnboardEdge. See discussion in commit 45ec3aa206823994651d03f0491991e45cd3c89a