Replaced IECore::IntrusivePtr with boost::intrusive_ptr.

IntrusivePtr had an implicit conversion to raw pointer which was good for the lazy, but it also had several problems compared to intrusive_ptr :

- The implicit conversion to raw pointer is dangerous. Functions that return a new Ptr because they expect you to take ownership (like Object::copy()) can be used as * = copy(), leaking memory.
- http://code.google.com/p/cortex-vfx/issues/detail?id=37&colspec=ID%20Status%20Component%20Type%20Priority%20Owner%20Summary
- IntrusivePtrs lack C++11 move constructors and assignment.

This forces the developer to call get() to retrieve a raw pointer from a smart pointer, which results in a lot of small changes to the code. But being forced to think a little bit about ownership semantics isn't such a bad thing.
Removed staticPointerCast, constPointerCast and dynamicPointerCast.

The standard boost::static_pointer_cast, boost::const_pointer_cast and boost::dynamic_pointer_cast functions should be used in their place.
Changed RefCounted base class binding to use GILReleasePtr too.

It had escaped the previous switchover because it doesn't use RefCountedClass to bind itself.
Removed unnecessary IntrusivePtr warning suppression.

We don't have an IntrusivePtr any more, and we don't have similar warnings for intrusive_ptr because we use GILReleasePtr to hold our python instances.
Added IECorePython::CastToIntrusivePtr.

This can be used as a return value policy when binding a C++ function returning a raw pointer which must be cast to an intrusive_ptr to allow python to share ownership. Previously it was necessary to manually wrap every single such function to return an intrusive_ptr, and then to bind that.
Fixed FileSequence API to use raw pointers where appropriate.
Fixed IECoreGL::Shader API to use raw pointers where appropriate.
Fixed Renderer::Procedural API to use raw pointers where appropriate.
Fixed Parameterised API to use raw pointers where appropriate.
Fixed Display API to use raw pointers where appropriate.
Fixed Camera API to use raw pointers where appropriate.
Fixed CoordinateSystem API to use raw pointers where appropriate.
Fixed Group API to use raw pointers where appropriate.
Fixed IECoreGL::Texture API to use raw pointers where appropriate.
Updated IECoreMaya for raw pointer API changes
Updated IECoreHoudini for raw pointer API changes
Updated IECoreNuke for raw pointer API changes
Updated IECoreMantra for raw pointer API changes
Merge pull request #308 from johnhaddon/boostIntrusivePointer

Boost intrusive pointer