fix(frontends/lean/pp): missing parenthesis around nested forall/exists

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(frontends/lean/pp): forall and exists pretty printing when used as constants

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(util/extensible_object): add template for creating 'extensible' objects

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(util/serializer): simple serialization infrastructure

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
chore(.gitignore): ignore .md.lean files

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
chore(util/serializer): fix style

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