refactor(*): start move to explicit initialization/finalization,
explicitly initialize/finalize options

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(*): explicit initialization/finalization for serialization
modules, expression annotations, and tactics
refactor(*): explicit initialization/finalization for environment extensions
feat(library): add constructions of categories, some changes in eq, sigma and path

in eq, add theorem for proof irrelevance and congruence for binary functions
in sigma, add some support for triplets
in path, comment out two unneccesary definitions
in category, add Cat, slice, coslice, product and arrow categories, also add fully bundled approach
feat(library/data/int): remove duplicate theorem, fix one sorry
foo
foo