Fix empty_base's for pair with static empty members and use it in
unique_ptr.
restructure traits and tests