* company-elisp: complete features and faces,
  find docs and definitions of non-function symbols properly
Don't use overriding-terminal-local-map

Use emulation-mode-map-alists instead.

This way, all non-shadowed bindings (like paredit's) are intact.

Also had to change tab and return's key notations in the map definition,
because otherwise they were still captured by yasnippet and autopair,
respectively.
Merge changes from the GNU ELPA repository

* Add company-capf: adapter for `completion-at-point-functions'.
* Lots of header and docstring tweaks.
* Copy README to README.md, adjust formatting.
Remove leading asterisks from docstrings

They don't make variables customizable anymore.
Update copyright dates and the changelog
Improve the README, add old screenshots
Add missing quote
And another one
Escape the angle brackets
Fix typo, remove "modular"
Backquote "company-mode"
* company--should-complete: not in minibuffer
Make company-capf work
Tweak README#Feedback
Fix two tooltip problems

* company-safe-substring: take into account character composition.
* company--replacement-string: append default face everywhere, so that we never
  inherit face background from the character at the end of the overlay.
* company-safe-substring: consider composition when to <= str's width

Still not perfect, but AFAICT writing a fully accurate `substring-by-width`
function would be wasteful performance-wise.
company-safe-substring: use a temp buffer

* No more situations where we replace actual text with whitespace.

* Still don't handle wide characters, except by untabifying in advance.

* It's fast enough, although it woudln't hurt to replace most of the string
  splitting and munching in the callers with direct buffer manipulation.
company-buffer-lines: Speed up

I wonder what had been fixed in 9b2b5b6c623579057e9322bd44a7342d0b08ee92
exactly. It will probably bite us later.