L10N - Error message

- Corrected error message in es-ES.h.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
I18N

- One does not simply std::string::substr a UTF8 string, like a bloody caveman.
  Implemented utf8_substr, and added unit tests.