Added an else statement to cover all the cases and avoid a UnboundLocalError.
Small fix for RangeSelection:

While parts of the code refer to self.axis_index, other parts refer
to self._determine_axis(). According to the doc, self._determine_axis
is only ever used, when self._axis_index is not set. In fact, the
property getter for self.axis_index handles this case, so self.axis_index
should be used in all cases.

It will only affect the behaviour if indeed axis_index is beeing assigned
to something different than the usual value, which will hardly every be.
Nonetheless, I guess we prefer correctness.
Merge branch 'master' into fix-datasource
Merge branch 'master' into fix-datasource
Removed the redundant exception.
Pep8.
More pep8.
CLN: Move methods to appropriate sections
BUG: Use public API when resetting bounds
TST: Resetting DataRange2D bounds propagates
MNT: Remove unused, untested private _*_setting attributes
TSTBUG: Python 2.6 lacks assertTupleEqual
ENH: Add new perceptual colormaps.
ENH: CH-CH-CHANGES.txt
Merge pull request #188 from enthought/fix_datarange2d_bounds_reset

DataRange2D can become inconsistent with underlying DataRange1D instances
Adding change to CHANGES.txt.
Adding test for new exception behavior.
Merge pull request #169 from enthought/fix-datasource

Fix UnboundLocalError when a datasource of the wrong shape is looked for
ENH: Add Kenneth Moreland's CoolWarm colormap and generator function for general diverging colormaps.
ENH: Add CubeHelix colormap from Dave Green.