company-elisp-candidates: Recognize when inside varlist

* Extract -candidates-predicate and -globals.
* Add tests.
* Rename -parse-local to -locals, accept just one argument.
company-elisp-locals: Differentiate local function and variable bindings
company-elisp-locals: Skip current varlist
company-elisp-show-locals-first: New defcustom
company-elisp-candidates: Deal with duplicates
company-elisp-candidates-predicate: Blacklist specific special forms
company.el: lexical-binding: t