Support multiple-width chars in annotations

Fixes #230
company-files--complete: Ignore case on appropriate systems

#240
company-update-candidates: Don't be fooled by a few prefix completions

...among non-prefix ones.

Obsoletes https://github.com/abingham/emacs-ycmd/pull/92.

`company-complete-common' was likewise too eager; this fixes it.
company-update-candidates: Fix WRT ignore-case
Reword comment
company-input-noop: Use a symbol for the dummy event binding

Closes #241
company-backends: Clarify that responding to `match' is never mandatory

https://github.com/abingham/emacs-ycmd/pull/92
Add company-bbdb-modes defcustom
Edit NEWS
company-backends: Add "to this command"
company-capf: Pass `sole' or 'finished' to exit-function, not `exact'
company-clang--start-process: Bind process-adaptive-read-buffering to nil

This speeds up completion on my system when a lot of candidates are returned, by
a factor of 2.5 (#228).

Inspired by https://github.com/Sarcasm/irony-mode/issues/131#issuecomment-60008803.
company--window-width: Make it a defun

#249
Work around http://debbugs.gnu.org/18384

Closes #249
Define customize group for company-bbdb
Merge pull request #252 from markus1189/bbdb-customize-group

Define customize group for company-bbdb
s/`bbdb'/BBDB
company--insert-candidate: Don't change buffer modification status unnecessarily

Fixes #256
company-semantic: add simple annotations
Add NEWS entry