clarify, modernize shared_pool

this works on quantal; have not tested on lucid
change static members of pool to non-static members of impl
  remove unnecessary locking around most shared_ptr<> usage
  use more C++11