Fixes utf8 error in str-index function

Finding the correct code-point and increasing plus one is
the correct way, although it also works by just "skipping"
the first code point byte (which is what c_index + 1 does).
Replaces native utf8 handling with UTF8-CPP library

Remove the hassle to write and maintain code to handle
Unicode. Use this light-weight (header-only) library to
handle all Unicode related stuff. Can handle invalid
Unicode strings correctly and more gracefully.

http://utfcpp.sourceforge.net/
Indents code in try blocks
Renames some utf8 helper functions

The names were (IMO) not very intuitive.
I tried to apply some meaningful conventions.