Restructured Variable Handling & General FLWOR Features

Some of the changes:

  * Variables are written to and read from statically determined stack frames.
  * Implemented `allowing empty`, `window`, `count` and fixed bugs in `group by` and `order by`.
  * More rigorous optimizations.
  * Various refactorings.