refactored library layout for clarity

all jump related classes are in jump, all plex related interfaces are
in plex.  basically implement PLEX to make a new plugin.