Rework pattern matching machinery; finish sequences
Rework pattern matching machinery; finish sequences

- Pattern 'matrices' no longer need to be rectangular. Instead they
  just track which refutable patterns are necessary for each row,
  tagged with the variable to match against it.
- Make splitting matches have a split and non-split case for more
  uniform handling
- Change freshening strategy for making up pattern variables

unisonweb/platform,unisonweb/platform,unisonweb/platform