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.)
Merge pull request #3475 from densh/topic/holemap-ordering

Fix inconsistent binding in patterns with 10+ holes