Add integrate_in_range to signal.py

Only the CLI version is working in this commit
Add integrate_in_range gui functionality

CLI version is working, but some problem with specifing the right
axis in integrate_simpson. So will only work with line-scans currently
GUI version is not doing the operation in place, only printing the
s.data for the integrated spectrum. Need to figure out a way do the
in-place substitution of the spectrum.
Moved and improve signal.integrate_in_range, fix to gui/tools.Integrate

Moved signal.integrate_in_range to Signal1DTools.
And try to implement in-place substitution in GUI version (currently not
working).
Merge branch 'master' into integrate_in_range
BUG-FIX: integrate_in_range was raising an exception in interactive mode when calling the Signal constructor
Add test for signal.integrate_in_range.

GUI function now opens the integrated spectrum.
Merge branch 'master' into integrate_in_range
BUG-FIX: The signal subclass and  of integrate_in_range-GUI != integrate_in_range-CLI.
Also enable fancy axis indexing.
Improve docs
Close the plot before replotting and remove Integrate button that had the same effect as the OK button
Small corrections to the test
Merge branch 'master' into integrate_in_range

Conflicts:
	hyperspy/signal.py
Merge pull request #104 from hyperspy/integrate_in_range

Integrate in range