Fix not working UltiSnips completer

Fixes #820. Latest UltiSnips upstream changes was pretty huge. The most devastating change was that now UltiSnips uses a class instance of ``SnippetManager`` class for ``UltiSnips_Manager`` object instead of using ``UltiSnips_Manager`` from imported module. 

This alone is pretty harmless since UltiSnips defines ``UltiSnips_Manager`` in global scope, but for some reason ( unknown for me ) its not defined in ``ycm_state._AddUltiSnipsDataIfNeeded`` scope ( even with ``global``. It should work with ``global``, I guess this is some kind of limitation of Vim python bindings... ). Because of that, I made changes to pass ``UltiSnips_Manager`` instance directly to ``OnBufferVisit`` call. Sorry, dont know better solution here :(

Also some clarifications why I did not initialized a separate ``SnippetManager`` instance in ``youcompleteme.py``. Currently UltiSnips sets its autocmds that sets proper filetypes for snippets to the methods of the initialized SnippetManager object. Because of that, if we will create a new instance it will not be able to get new filetypes on buffer switch and we will be stuck with just one filetype - ``all``.

Also, I guess we should ping @SirVer, maybe he has a better solution.