chore(build): put --coverage CXX_FLAGS for TESTCOV build
chore(travis): use consistent build name

 - have build name is in the form of
       "<BRANCH>_<CXX_COMPILER>_<BUILD_TYPE>(_TC)?"
   to have consistency over time.
 - have "Generator" field in cdash XMLs which is in the form of
        "<GIT_COMMIT>###<GIT_SUBJECT>"
   it will be displayed as a small mouseover-text.
chore(travis): push all linux builds to cdash
chore(travis): fix testcov problem
chore(travis): set stack size as unlimited before run valgrind
chore(memcheck.supp): generalize TCmalloc_Bug2 pattern

to suppress a warning from MSR 32bit build
[skip-ci]
test(util/numerics/mpbp): add more tests for improving coverage
chore(travis): fix git-commit-msg extraction

[skip-ci]
doc(automatic_builds): add how to prevent a build on Travis-ci

[skip ci]
test(util/numerics): more tests to improve coverage
fix(debug): print type in lean_assert, print bool correctly

 - use typeinfo to print out a type of value when an assertion fails.
   need to use "c++filt --types" to demangle names for non-basic types.
 - use std::boolalpha and std::noboolalpha to control the printed values
   for "true" and "false"
chore(travis): use c++filt to handle demangled c++ names
feat(lazy_list): implement ML-like lazy lists

We will use lazy lists to represent the set of solutions produced by the elaborator. The elaborator plugins will also use lazy lists.

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