feat(emacs/lean-server): handle modified buffer when send VISIT cmd

Close #159
fix(emacs/lean-server): respect order of messages in check-buffer-and-partition
fix(emacs/lean-tags): handle exceptions from find-tag
feat(emacs/lean-project): add lean-project-create to imenu

Related with #170
fix(emacs/lean-company): enable auto-complete when prefix length >= 1

[skip ci]
feat(emacs/lean-tags): detect and support multiple TAGS

Close #170
refactor(frontends/lean/local_context): do not use references in the local context
refactor(frontends/lean/elaborator): move placeholder_elaborator to its own module
refactor(frontends/lean/elaborator): move coercion_elaborator to its own module
refactor(library/data/list/basic): cleanup

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(uti/sexpr/format): rename 'choice' function to 'choice_fmt'
refactor(kernel/constraint): allow choice function to return a updated substitution