Big commit to let Ferruccio try the merge_coercion patch.
1) allowed :> syntax in record to specify that a field is a coercion
(and it will be used (if needed) in defining the following projections)
2) minor cleanup in CicUtil.is_metaclosed
3) added library_objects.reset_defaults() (used in MatitaSync.init())
4) added MatitaSync.init() that is the only way to obtain an initial matita status
5) CoercDb is only accessed by CoercGraph
6) insert_coercion flag added to the refiner (and removed the use_coercion flag from CoercDb). Coercions are always available, the refiner will eventually insert them
7) CicRefiner now packs coercions with the avoid_double_coercion function
8) GrafiteAstPp is now "more" in sync and dump_moo seems to work again
9) LibrarySync has a merge_coercions function that calls on
`Generated && not(is_coercion) objects. I hope it is enough (calling it
on every objects shlows down a bit
10)MatitaScript now calls MatitaSync.init() on reset
TODO: - remove CoercGraph.remove_coercion from add_single_obj
- find a place for CoercGraph.add_coercion used in generate_projections