Allow more than one first char
Make code block exit rules leverage multiple first chars
Get rid of some special cases for newlines
Add a test for different sets of links

This is so that I can optimize the link regexes without worrying about
breaking them
Allow look up of first char rules for states with an empty rule

It used to be the case that if a state had an empty rule (qr//),
we would simply run all rules for that state.  With this change,
we still maintain a character -> regex lookup table, and only
run the empty rules if none of the other rules match.
Add more crazy links to the test