minor edits
Added ImageExporter error message for zero-size export
Ordereddict exploses with python2.6 ...
Use the official backport
Workaround for OrderedDict bug: import from 'ordereddict' backport module if available
Add backport ordereddict to repository
Merge remote-tracking branch 'kif/master' into develop

Conflicts:
	pyqtgraph/pgcollections.py
Fixed improper tick spacing and axis scaling
This requires an API change:
 - AxisItem.setScale(float) has the usual behavior
 - AxisItem.setScale(None) is no longer allowed. Instead use:
 - AxisItem.enableAutoSIPrefix(bool) to enable/disable SI prefix scaling
Also makes the API more intuitive since these features are now accessed and implemented independently.
Updated documentation to match previous API change
Allow AxisItem.setScale(None) to retain API backward compatibility.
minor fix
Merge branch 'axis_fix' into develop
    Fixed improper tick spacing and axis scaling
    This requires an API change:
     - AxisItem.setScale(float) has the usual behavior
     - AxisItem.setScale(None) is deprecated (but still works). Instead use:
     - AxisItem.enableAutoSIPrefix(bool) to enable/disable SI prefix scaling
    Also makes the API more intuitive since these features are now accessed and implemented independently.

fixes #4
Fix: when ViewBox is resized, update range if it is linked to another view
ignore test directories in top-level __init__ imports
Added ViewBox test suite
Mid-way through overhaul. Proposed code path looks like:

    setRange -> updateViewRange -> matrix dirty
                            -> sigRangeChanged

    ... -> prepareForPaint -> updateAutoRange, updateMatrix if dirty
Initial success. Testing and further reorganization to follow.
A bit more flow reorganization
Fixes:
  - ROI updates on sigTransformChanged
  - ViewBox is more careful about accepting all auto-range changes up to the point it is disabled, even if the auto-range calculation is deferred.
Correct ViewBox.translate to use setRange(x, y) when possible rather than making two calls.
Bugfixes:
 - GraphicsView.render now correctly invokes GraphicsScene.prepareForPaint
 - Fixed RemoteGraphicsView renderer to use new PyQt QImage API.
 - multiprocess.Process now pipes stdout/err directly to console when in debugging mode
ViewBox overhaul. Cleaned up code pathway:
  - setRange now only affects target range
  - updateViewRange only affects view range
  - updateMatrix only affects childGroup transform
  - updateMatrix is only called before a render

Pathway now looks like:
        setRange -> updateViewRange -> matrix dirty -> ...
                                    -> sigRangeChanged

        ... -> prepareForPaint -> updateAutoRange, updateMatrix if dirty