Add fit_component to model.py, and ComponentFit to tools.py
remove unused import
Modify model.py, add a fit_all_components function
Improve several aspects of fit_component:

* Fix parameters instead of disabling components
* Backup the "free state" of the components to leave the model configuration intact after calling the method
* Add a fit button instead of fitting when the slider parameters change
* Use the set_signal_range method to select the spectra range where to fit instead of cropping the spectrum
* Add docstring
Merge branch 'gui_fit_model_components' of github.com:hyperspy/hyperspy into gui_fit_model_components
Merge branch 'master' into gui_fit_model_components
Fix fit_component now working when plot window is not open
Add ability for ComponentFit class to set initial centre parameter values
Add inverse_selection flag to model.fit_component

Fits the component to the signal which is not selected
by the user input, for example when fitting an arctan.
Merge branch 'master' into gui_fit_model_components
Change x0 parameter in arctan to centre
Add y0 parameter to arctan component

Need this to enable use of arctan component in the fit_component
function in model.py
Add setting of more initial parameters in ComponentFit

ComponentFit will set initial values for the fitting for
sigma and A parameters. Implemented for Gaussians, have not
tried on other components.
Add estimate_parameters to the voigt component

Basically copied the estimate_parameters from the gaussian
component
Remove direct estimation of parameters in ComponentFit

Rather ComponentFit checks the component if it has an estimate_parameters
function, and use that function instead.
Component arctan, rename centre to x0, remove y0, add minimal_at_zero

minimal_at_zero adds an pi/2 arctan before the amplitude.
This basically shifts the minimum of the arctan component to zero.
Add estimate_parameters flag to model.component_fit and ComponentFit

Toggles use of component.estimate_parameters in the component.
Add fit_independent flag to m.fit_component and ComponentFit class

If true will fit the component independently of the other
components in the model.
component.active state is now restored after using ComponentFit
Add example to doc in model.fit_component