medium: parse: Clean up the CLI syntax display
* Don't show quotes when not necessary
* Allow a new syntax for $id nvpairs: Instead of

  node foo $id="1"

display as

  node 1: foo
doc: Update documentation with cleaned up CLI syntax
medium: cliformat: Nicer display for ( a b sequential=true ) sets
Instead of parsing a two-element sequential set into

    _rsc_set A B

display it as

    ( A B sequential=true )

..since the first form is undocumented and confusing.
dev: cibconfig: Simplify construction of backtrans
dev: cibconfig: Clean up == vs is/is not
Revert "medium: cliformat: Nicer display for ( a b sequential=true ) sets"
This reverts commit a09364b913880e4bfe09a3e8d5cfdf57091edddb.

Seems this change introduced breaking changes for some reason.
test: Update input to edit test
test: Update regression tests with clean syntax
test: Failing tests for rules in param lists
thought in progress
medium: parsnip: Parsnip, a combinatorial parser

Implementation and tests for parsnip, a combinatorial parser.
Should simplify the parse module significantly.
many1 and case-insensitive match in text()
various half-finished thoughts on param parsing
This is a mad project
I'll need to continue this later
small fixes/cleanups
more in-progress parser work
Add test for two-element colocation form