Set company-added-newline to t if the buffer was modified

Fixes #58
Don't `company-cancel' twice
New user option, company-continue-commands

Closes #59
Fix scrolling up from the last item
Fix out-of-bounds error on truncated anno fontification
Introduce company-dabbrev-downcase

Closes #60
company-capf: fix when company-point is nil
company--capf-data: Check that the cdr is cons, not data itself
company-capf common-part: look up font-lock-face

Because completion-pcm--hilit-commonality uses it.
company-capf: cache the capf data

The annotation command can be called a lot of times. At least in theory.
common-part: rename to `match' and document
company-continue-commands: change the default value
Bump the version
BBDB completion in message-mode
Declare bbdb functions, instead of requiring it
Remove company-bbdb-records, it was unused
Mention it in NEWS
Add user option company-tooltip-align-annotations

Closes #63
Hopefully fix the Emacs 23 breakage
Turn off company-tooltip-align-annotations by default

#63