Re-implement rewrite module using rewrite_cell
Fix style-warning
Add Repeat/Success/Fail to rewrite (skeleton)
Fix to be compiled by clang++-3.4

Clang++-3.4 is starting to enforce the following item of C++11 standard,
thus it's making lean not compiling:

It's illegal in C++11: §8.3.6.4 [dcl.fct.default]
"If a friend declaration specifies a default argument expression, that
declaration shall be a definition and shall be the only declaration of
the function or function template in the translation unit."
Add "--gen-suppressions=all" to valgrind option
Fix typo in CTestConfig.cmake
Rename 'rewrite' to 'Rewriter', change type of rewriter::operator()
Update 'orelse' and 'then' rewriter to take a list of rewriters
feat(debug): improve lean_assert macro

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