Fix inconsistent binding in patterns with 10+ holes

Previously a map that was storing bindings of fresh hole variables with
their contents (tree & cardinality) used to be a SortedMap which had
issues with inconsistent key ordering:
```
   "$fresh$prefix$1" < "$fresh$prefix$2"
   ...
   "$fresh$prefix$8" < "$fresh$prefix$9"
   "$fresh$prefix$9" > "$fresh$prefix$10"
```
This issue is solved by using a LinkedHashMap instead (keys are inserted
in the proper order.)

review @retronym