feat(emacs): add company mode (via etags)
feat(emacs/lean): add multi-line comments

This is related with issue #63.

There are two known issues:

 - Emacs behaves as if the multi-line comment start/end symols are "(-"
   and "-)" instead of "(--" and "--)". As a result, it shows all the
   correct lean comments as it is. However, it will show some examples
   such as "(-5)" as a part of comment even if Lean doesn't interpret it
   as it is. Technically, it's because we are using a syntax-table based
   method to define comments. For more information read a documentation
   of 'modify-syntax-entry' function.

 - Somehow, the matching parens are broken. When we type "--)" to close
   a multi-line comment. Emacs warns "Mismatched Parentheses".
test(tests/lean/run): add test

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(util): add sequence object with O(1) concatenation operation

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
chore(*): create alias for std::pair

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(kernel/type_checker): remove "global" constraint buffer from type_checker, and use constraint_seq instead

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(library/unifier): missing set_conflict

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
chore(library/standard): remove workarounds

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(library/unifier): allow computation when solving flex-rigid constraints

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>