convert __destroy_deallocate() to __destroy(), and much more!
add reference and alloc counting to small tests