Added suspend/resume of Model.update_plot()

If changing several parameters at once, the plot would currently update
once for each change. This commit adds a suspend_update() /
resume_update() function pair to temporariliy disable updating until all
changes have been completed.
Disconnect/reconnect parameters on suspend/resume

Disconnect parameters to update_plot on suspend_update, reconnects on
resume_update (if _get_auto_update_plot() returns True). Also changes
_get_auto_update_plot() to check for suspension, as several internal
functions rely on it. Because of this, it is important that
resume_update decrements the counter before it checks
_get_auto_update_plot.
Docstring updates Model.suspend/resume_update
Improve the structure of the  features to make it less brittle.
Automatic style corrections courtesy of autopep8.
Remove no-longer-needed component argument from .
Automatic style corrections courtesy of autopep8.
BUG-FIX:  was not disconnecting the model line.
Changed suspend/resume_update to not nest

Also added warning if suspend is called when alread suspended, or resume
is called when not suspended.
Cleanup
Correct block-comment style to comply with PEP8.
Automatic style corrections courtesy of autopep8.
style correction.
Automatic style corrections courtesy of autopep8.
Add User Guide doc.
Francisco's changes
Merge branch 'suspend-resume_update_plot' of https://github.com/francisco-dlp/hyperspy into suspend-resume_update_plot

Conflicts:
	hyperspy/model.py
BUG-FIX: resume_update was not working as expected.

This was  because `_get_auto_update_plot` was False if suspended. To correct it
`_get_auto_update_plot` was renamed to `_plot_active` and only checks if the
plot is active. `_connect_parameters2update_plot` and `update_plot` now
check if the plot is active, instead of doing it at an upper level.
Automatic style corrections courtesy of autopep8.
BUG-FIX: it was not possible to  is the plot was not active.