Implement ycmd-minor-mode

Implement a minor-mode for ycmd. The mode adds hooks in order to have different triggers for a reparse. With the `ycmd-set-needs-parse` list the user is able to control when the buffer should be marked for reparsing. For now `save` and `new-line` or manual reparse is supported, but might be extended for other methods like an idle-timer. 
It looks like `force-notify` is no longer an argument. I'll go ahead and merge this change, but I'll remove this comment soon after.