Delays know about their own methods too.

This makes the debugger behave a lot better with them.
Naming empty returns a new instance of it.
HMRAlternate → HMROr.
HMRConcatenate → HMRAnd.
HMRReduce → HMRMap.
HMRLiteral → HMREqual.
Add a set abstraction.
HMRCharacterSet → HMRContains.
Generalize containment to arbitrary HMRSets.
Merge pull request #82 from robrix/constructor-brevity

Constructor brevity
Fix up some docs.
Add a kind-of combinator.
Merge pull request #83 from robrix/kind-of-combinator

Kind of combinator
Remove the old predicate constructors.
Stub in a predicate constructor for concatenation.
Add a block predicate combinator.
Merge pull request #84 from robrix/block-predicate-combinators

Add a block predicate combinator.
Merge remote-tracking branch 'origin/master' into predicate-constructors
Predicate combinators match by evaluation.
Implement the concatenation predicate.