Changes to deal with negative segments

JBrowse will sometimes request negative segements. These must be dealt
with sensibly.
Updated expectations
Blank extraValues are now interpreted as null.
Code gen fixes.
All Python and Java code gen tests passing.