Character set descriptions

This is a partial implementation of [POSIX bracket expressions](http://www.regular-expressions.info/posixbrackets.html) (effectively, named character classes) with the primary intention of providing better descriptions, e.g. `[[:alnum:]]` rather than `[<NSCharacterSet: 0x…>]`.