ToHoudiniGeometryConverter marks Pref and rest as non-transforming

This prevents object_merge from altering the rest position (as the native rest sop does).
Preventing SceneCache Source from transforming rest/Pref
Removed InternedString reliance on IECore/HashTable.h.

Moved the hash function inside InternedString.cpp, and documented how it and the new Equal struct allow fast lookups with both types of strings.
Added InternedString( const char *, size_t length ) constructor.

This allows the construction of InternedStrings from substrings, without needing to create a temporary std::string.
Removed IECore/HashTable.h.

It is unused in Cortex now that the InternedString implementation is entirely private.
Merge pull request #338 from johnhaddon/internedStringConstructor

InternedString( const char *s, size_t length )
Fixed argument passing for RiProcDynamicLoad.

We were passing pointers from string::c_str(), where that string might have been destroyed before the procedural subdivide function was invoked. This wasn't caught by the unit tests because when outputting direct to RIB, the strings are used immediately, before returning from the RiProcedural call. We now copy all strings, and use our own free function to ensure that they are cleaned up appropriately.

It's worth noting that the RI Spec is a little misleading on this matter. It says that all three built in procedural types may use the built in RiProcFree, providing this example :

```
RtString args[] = { ”mydso.so”, ”” };
RtBound mybound = { -1, 1, -1, 1, 0, 6 };
RiProcedural ((RtPointer)args, mybound, RiProcDynamicLoad, RiProcFree);
```

This crashes, because args hasn't been malloc'd, so can't be passed to RiProcFree. Even when using malloc, RiProcFree is only of use when passing static strings for `args[0]` and `args[1]`, because it doesn't free the strings referred to within args.
Merge pull request #339 from johnhaddon/dynamicLoadFree

Fixed argument passing for RiProcDynamicLoad.
Merge pull request #340 from andrewkaufman/houdiniPref

Pref/rest in Houdini
More appleseed work.
Merge branch 'master' into IECoreAppleseed
Reduced overhead of calling memoryUsage() on SimpleTypedData.

The new implementation is approximately 2x faster than the previous one.
Merge pull request #343 from johnhaddon/memoryUsageOptimisation

Reduced overhead of calling memoryUsage() on SimpleTypedData.
Merge remote-tracking branch 'upstream/master' into IECoreAppleseed
More appleseed work