company--should-idle-begin: use a more careful check

* Dicussed in #143.
* company--begin-inhibit-commands: new variable.
company-keywords-alist: ass js-mode -> javascript-mode alias
Bring back this-command check when company-idle-delay is t

Reported by @proofit404
Never delete the "added newline" twice

Even when a hook or a backend method raises an error.

Possibly related to #145.
Don't call post-completion methods and hook in continue-failed case

Possibly related to #145.
Merge remote-tracking branch 'upstream/master'