removed boost::move from ptr.
fixed swap if rvalue refs available (don't need to explicitly forward)
remove TODO comment for operator[]
switched to custom forward impl, use D instead of deleter_type
internally.