Added control over string comparisons.

This is used for changing whether you do a case-sensitive or case-
insensitive match, and if so, *how*.  It could also be used to do
things like comparisons on normalised Unicode strings, or other
weird stuff.

Closes #18.
Added control over whitespace policy.

Use `#[space="..."]` and `#[runtime_sp="..."]`.

Closes #4.
Some tests now use anonymous captures to avoid warnings.