Converting to pure stack operation

- Give up pre-computing stack effects.  Surprisingly, on a test case
  that I use, this actually gives about 25% better performance.  I
  guess the added cache traffic for stored pre-computed slot indices
  is so high, that unless there's a lot of stack shuffling involved,
  it doesn't pay off.

- At least N/X is currently broken, possibly others.  A lot of code in
  tree.cc/tree.hh can still be dropped.  This is work in progress.
  (But I made sure the test case mentioned above gives the same
  results as before.)

- The ultimate goal is to pave the road to easier extensibility and
  eventually to "def" operator and blocks.
Fix each

- each shouldn't pop the original before each stack is produced.
  Instead it should pop&push on the produced stack.
Fix transform

- This relied on stack pre-computations.  Add an operator that pops
  and saves top N-1, performs given OP, and pushes the saved on each
  produced stack.  Possible this will be reimplementable using blocks
  later.
Syntax nits
Drop several optimizations that don't work as is
Drop mentions of maximum stack depth
Drop unused get_common_slot
New dwgrep use case
Formatting
Describe if-then-else, while, until
Revert back to original semantics for sub-expression capture

- The intention was to have a tool akin to "%s", but for lists, and
  with the added twist that an expression that doesn't yield anything
  still produces an empty list.  The result was unconvincing and
  required a complex analysis to even work (we do count with having
  the analysis, but that should be an optimization, not an absolute
  requirement).

  With if-then-else available, all the current uses of [X] in examples
  become unnecessary anyway--this was only used for [X] (if, else),
  which was ingenious, but ultimately not very readable.

  So get back to the original thing where [X] is a literal form--a
  pure pusher, and X is evaluated in sub-expression context.
Dump in-progress documentation

- Much of this is essentially thinking alound, some of it is updating
  examples for new syntax, some of it experimenting with syntax
  without formal backing (namely the <X>?eq bits).
Drop count

- Supporting count is far more problematic than what the worth is.  If
  desired, count can be emulated using a capture.
Make capture evaluate in sub-expression context again

- In accordance with what's currently in dwgrep.txt.
Change ?{}, !{}, ?all{}, !all{} to ?(), !(), ?all(), !all()
Drop stack slot coodinate handling from tree.cc/tree.hh

- These are sure to come back in some form later, but right now we
  don't need them.
Drop CLOSE_PLUS and MAYBE tree types

- Translate X+ and X? directly to X X* and (X,).
Drop slot_idx.cc/.hh
Drop inaccurate part of a comment
Drop irrelevant part of a comment