compile: add fast path for c_char
compile: add fast path for c_char

This fixes a pretty bad performance bug in the NFA compiler. In
particular, c_char was implemented by diverting to c_class, which is
correct, but rather costly to do for every single character in a regex.
This causes way more things than necessary to go through the class
compilation infrastructure, which includes the suffix caching.

We fix this by just special casing c_char. This speeds up regex
compilation in #657 by around 30%.

Fixes #657

rust-lang/regex,rust-lang-nursery/regex,rust-lang-nursery/regex,rust-lang/regex,rust-lang-nursery/regex,rust-lang-nursery/regex,rust-lang/regex,rust-lang/regex,rust-lang-nursery/regex,rust-lang/regex