add is_upgradable and is_upgradable_on_ext meta-functions, use them to rationalize usage of split/group techniques
factoring reduction code for trig functions
wrong manip with f_trig_reduction.hpp
merging f_trig_reduction.hpp