move utf8 functions from libudev-private.h to utf8.h

There's now some more obvious overlap amongst the two
utf8 validation functions, but no more than there already
was previously. This also adds some menial tests for anyone
who wants to do more merging of  these two in the future.

Adopted for eudev: Anthony G. Basile <blueness@gentoo.org>

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>