Changed OBO Parser to improve efficiency

Created a private class to serve as a lineage data structure.
Sorted lineage data to improve match algorithm efficiency.
Stored score information in a map to reduce redundant recursive
calculations.