Fix Zip bug of disappearing consumer.

Because of the recent change to set the QUOTA_HIT tag at the
beginning of Process_run, we now have to clear the tag if we
want the runtime to ignore our consumer.
Fix bug in Dup.

Before, Dup would ignore the second branch no matter how full it
would get. This was because the first branch would fluctuate
between INPUT_QUOTA - 1 and INPUT_QUOTA, thus always hitting
quota after one buffer addition by Dup. This meant that the
second branch was never examined. Now we block on the fullest
branch.
Fix out-of-control pipeline creation.

With enough threads, and a pipeline that doesn't have enough
parallelism, we can end up with many threads that are far ahead
the other threads working on the oldest pipeline. This can result
in out-of-control pipeline creation because we allowed the
liaison to continue to bring in more pipelines when it couldn't
find work to do. Now we make the worker doze if work is not
found. The liaison can only resume if the variable truly drops
below the value.
Add text layout example.
Don't crash just because the wrong quantum was given.
Text layout example now duplicates word placement points.
Text layout now places individual glyphs.
Text layout now handles newline characters.
Text layout supports splitting long words.
Rename 'o' argument to 'b' for beginning.
Duplicate -> Repeat
Remove complex conditional expr in favor of if/else
Add another previously missing OOM check.
Update maru.
We'll load port.l ourselves, to avoid path resolution problem.
Update repl.l to match the one built into maru.
Update maru
Parsing and resolution mostly complete.

And, no need for our own repl.l now that we can use the built in one.
Shuffle, shuffle, shuffle.
Rewrite nile_Funnel to work with large input streams.

Before we'd deadlock on large input streams because work_until_below
was waiting for the stage after Funnel to unclog (input.n to drop),
but that stage was sometimes waiting for Funnel to remove it
(because it was swapped), producing deadlock.

Now the work_until_below waits for the Funnel to change state
away from BLOCKED_ON_CONSUMER.