Fix escaping on pipe char in goodchar rule; add tests to verify allowed and disallowed chars