Reducing memory usage
- ScoringFunction changed to BiFunction from Function. It takes a List of childScores as the second input. This allows childScores to be stored in function stack when score is evaluated instead of the heap, and reduces the overall memory footprint of the library
- Element.Builder.setValue overridden to accept Object Type
- Match.childScores is dropped to reduce memory footprint.