Moved RefCountedBinding implementation details into Detail namespace.
Removed unused member from IECorePython::WrapperGarbageCollector.
Simplified RefCounted bindings.

When a wrapper is desired, the wrapper type is now passed directly, instead of having to specify IntrusivePtr<Wrapper>. This very slightly simplifies the wrapping of classes, but more importantly gives RefCountedClass full control of the sort of pointer used for wrapping.
Made RefCounted bindings release the GIL during C++ destruction.

Fixes ImageEngine/gaffer#855.
Merge pull request #299 from johnhaddon/gilReleasePtr

Release GIL during C++ object destruction