Scoping the context before asking for the currentPreset.

Fixes #1121.
Added PlugValueWidget.childPlugValueWidget().

Prior to this we had just been implementing the method directly on child classes, with no default implementation in the base class. This was because previously Plug could not have children (only CompoundPlug could), so it made no sense on the base class. Now that Plug can have children and CompoundPlug is flagged for removal, it makes sense to have the method defined on the base class.

Fixes #1123.
Fixed ImageView context scoping.

It wasn't using the right context when evaluating the various colour samplers. The fix continues the tradition of just shoving more and more stuff into the one monolithic class - this needs to stop.

Fixes #1124.
Added some comments regarding refactoring ImageView.
Merge pull request #1122 from andrewkaufman/presetFix

Scoping the context before asking for the currentPreset.
Merge pull request #1125 from johnhaddon/fixes

Fixes for #1123 and #1124
Scoping the context before getting the channel names.
ImageWriter now creates the necessary directories before writing the file.
Merge pull request #1128 from andrewkaufman/imageQuickFixes

GafferImage Quick Fixes
Deferred creation of plug presets submenu.

In case someone does something like registering a preset which makes calls to an outrageously slow database somewhere.
Merge pull request #1129 from johnhaddon/deferredPresetsMenu

Deferred creation of plug presets submenu.
Added a Refresh button to ImageReaders.
Merge pull request #1130 from andrewkaufman/imageCache

Added a Refresh button to ImageReaders