Encoding data to utf8 if 'unicode' object

ycm_core only deals with utf8 and the functions only accept python string
objects.
More python unicode object support in ycm_core
Identifier completer now fully decoupled from Vim