IO Operators: Raise specific exceptions when a file can't be opened.
OpInputDataReader: Catch the exceptions and reraise them as a special exception that others can catch easily.
Added OpMetadataMerge (with test)
graph.py: Don't call setupOutputs() on an operator while it is being cleaned up.
tests: Minor cleanup.
MetadataMerge: return result.
graph.py: Initialize op._cleaningUp for all children as soon as the parent starts cleaning up.
Added OpDummyData for displaying "not available" data.
OpBlockwiseFilesetReader: Use OpDummyData for providing missing block stand-in data.