C++ 11 support

deleted friend declaration to make_shared, they are not needed since
constructors are  public.

it's not great, but it's work, I only tested on GCC 4.6.3