We got a report of someone trying to filter with a path segment using a
colon and it not working. Colon isn't currently part of the allowed
punctuation list for identifiers.
Already JSON Pointer has a larger list of allowed punctuation than
native syntax, so I kept this scoped just to JSON Pointer. This PR:
- Adds colon to that list, enabling it to be used in JSON Pointer paths
- Adds tests of this
- Adds tests for both JSON Pointer and native syntax to ensure colon is
accepted on the StringLiteral side. It _should_, but more tests is not
a problem.
This also scopes down the set of targets calling `generate` so that
pigeon and co aren't required except when actually generating.