Implement completer-specific commands

This provides a framework for completer-writers to create completer-specific commands. I have in mind to use this for the clang completer to force reloading of a flags module via `:YcmCompleter reload` once my other pull request is merged.