feat(name_generator): add name_generator for unique names modulo a prefix

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(debug): add assert_ne (not equal) macro

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(list): improve append function

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(splay_tree): add fold and for_each templates for splay_tree and splay_map

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(splay_tree): add fold and for_each templates for splay_tree and splay_map