Support unicode in common prefix and suffix

This commit decreases performance for these methods by around 5x in my
simple tests.
Step one rune at a time

If prefixing bytes were common, runes would become invalid since they
were broken up.