Added the _isEmpty and _isNonEmpty methods

Also refactored out the common case of a method that operates on a
Property on a Thing.

Also introduced some convenient vals for True and False, for
efficiency's sake.
Added _pluralize().
We can now define sections by filters

This is the first-draft way to pull apart a list based on its
properties, into different sections.

To do this, added _filter() and _not().

To support that, added YesNoType.toBoolean(), which I'll need for
various predicate work.

Also added Context.firstTyped(), which is kind of an annoying hack, and
flatMapAsContext(), which feels *entirely* wrong but is currently
useful.

Also added _bulleted, since I want that so often.