Fix UTF8Type serialization for already-encoded utf8

If your data is already utf-8 encoded by the time it reaches the UTF8Type.serialize() method, the encode() will fail, raising a UnicodeDecodeError.
Explicitly testing the type for Unicode before the .encode() should guarantee it doesn't fail, and in cases where it isn't Unicode, we simply test whether it's already a valid byte-encoded unicode string by attempting to decode it. 
This shouldn't add any significant overhead for strings passed in as Unicode, will prevent unnecessary failures with already-encoded Unicode strings, and raise a UnicodeDecodeError otherwise.
try..except on UTF8Type serialize for pre-encoded strings

Wrap ustr.decode() with a try..except block to handle failure to encode strings of already-encoded unicode.
Merge pull request #78 from nisanharamati/master

Fix UTF8Type serialization for already-encoded utf8