runtime/text: Fix edge case for simple QL formatting.

If a pattern or value in a simple QL format is almost at the end of the string
with exactly one remaining character to its right, then the parser has a
fencepost error and fails to copy that character to its internal list of
string segments.

The test would pass if other Substituter issues were fixed.
Start building Monte-in-Monte language tests.

It doesn't quite work yet, though.
src/test: Test properties of bools.
Start testing lists.
Start building derp-style parser.
Add isInteger primitive and show off the int guard in Monte.

This is pretty cool!
Demonstration code for intervals.
More work on derp.
More derp.
Runtime type improvements and some serious derp.

Strange error that doesn't seem like miscompilation. Will investigate more
later.
Even more derp!
Derp to victory!
Make derp use the standard unittest module.
derp: Undo consing of lists in rep.
derp: Change alt() from taking a pair to taking a list of languages.

Allows expression of unlimited alternation, and the optimizations to
auto-prune dead branches are still present.
Add the ability to dump a derp tree.
Start doing meta-derp.