Use JAXB to marshal/unmarshal plugin tracks so they can be saved as sessions.

Needs testing, right now only glaring bug is that analysis track gets put in the wrong panel
Have analysis track get added to the appropriate panel
Support analysis tracks which are saved in the file before a track they reference

Make two passes through track elements, so we make sure to resolve references when reloading a session. Somewhat hacky.
Add unit test for loading analysis track from session
Have IGVSessionReader properly resolve track references, was missing GeneTrack before.

Sessions with multiple derivative analysis tracks (ie intersect using an intersect track) appear to work now)
Fix bug where geneTrack would get added twice