Updated caching notes.
company-mode backend now works against a list of modes.

It used to just work in c++-mode. Now it should work dynamically
against a list of modes which the user can control.
Replaced use of apply with funcall.
company-mode seems more robust now.