Allowing configs to filter Op, Procedural, and RenderMan shader submenus.

ParameterisedHolder menus and RenderMan the shader menu take an optional regex or fnmatch string for filtering. Addresses #316.
Typing Escape in a submenu closes all parent menus as well.
Fixed the broken test case: GafferImageTest.FormatTest.testHashChanged
The GafferImage::FormatPlug::hash() method will now lookup the value of the default hash from the script node if the result of getValue() is an empty box.
Merge pull request #352 from goddardl/FormatHash

Fixed a broken test case within GafferImageTest.FormatTest.
Prefixed all typenames with the library namespace.

This prevents clashes with identically named types in IECore. It also necessitated changing all the default names for newly created GraphComponents, and fixes various places in the bindings where it was assumed that the typename was the same as the python class name.

Fixes #330.
Prevented non-serialisable plugs from being promoted to Box level.

It would only fail later because the promoted plug wasn't serialised. You could argue that we should remove the non-serialisability when promoting, but nodes make non-serialisable for good reason, so I think it's best that we respect their wishes.

Fixes #347.
added missing return
Merge pull request #346 from andrewkaufman/filterableSubmenus

Allowing configs to filter Op, Procedural, and RenderMan shader submenus
Merge pull request #349 from andrewkaufman/escapeClosesMenus

Typing Escape in a submenu closes all parent menus as well.
Improved GraphComponent::defaultName documentation.
Merge pull request #355 from johnhaddon/defaultNames

Prefixed all typenames with the library namespace.