full spec/implementation for category_tree_synchronizer
memoize api.get_categories return value
timestamp category soft removal
cleaning
assigning proper parents - fix ancestry bug
optimize Synchronizer #missing_categories and #removed_categories
rename missing_* to new_*
lot of performance/validity tweaks to category syncro
wrap assign_proper_parents! into transaction
enforce that fixing parents is after importing
synchronizer updates path_texts after fixing parents
update_leaf_nodes! and update_path_texts!
update suggestions for category