Support general completers

By general i mean completers, that supposed to work with all filetypes. I've done this because I already have 2 completers that provides completions in all filetypes and they are not semantic ( does not kick in after semantic triggers ).

There is already a Identifier completer that provides completions everywhere, so i thought it should belong to general completers.

Without any additional completers it works nearly the same way as it was, there are only identifier completer. Extra completers defined by ``g:ycm_general_completers`` options, for example:

```vim
let g:ycm_general_completers = ['filename_completer']
```
Will look for ``filename_completer`` module in ``general``, import it and use it for completions. All completers are started in a separate threads