Replace StateT with ReaderT in Processor
Introduce 'BasicCommand' and use 'Command' as an intermediary type

- only BasicCommands are directly interpreted; Commands are
  translated to BasicCommands
  - separation of (high-level) interface commands
    and (low-level) internal commands
  - command optimization
    - Deletes to BatchDelete
    - maybe flatten nested Sequences
  - transparent for the user
- limit exports of Interpreter, BasicCommand and Command