ref-count

reference count port from boost smart ptr

feature:

  1. Clang atomic
  2. GCC x86_64
  3. shared_ref and weak ref, not support custom allocte now