DataAxis bugfix + value2index takes ndarray

Fixed a bug in DataAxis._get_name() when the axes_manager was not set.
Also, DataAxis.value2index() now accepts ndarrays as input.
Fixed DraggablePatch picking

Previously, there was no mechanism for setting a DraggablePatch.picked
to False when it was no longer picked.
DataAxis.value2index was not using the rounding argument when value was a numpy array.
Add tests.
Automatic style corrections courtesy of autopep8.
Update value2index docstring
Merge pull request #278 from vidartf/draggable-patch_picking

Fixed DraggablePatch picking
Merge pull request #1 from francisco-dlp/data-axis_bugfix

Data axis bugfix
Merge pull request #276 from vidartf/data-axis_bugfix

DataAxis bugfix + value2index takes ndarray
Bugfixes to selective component update_plot()

Fixed an oversight in parameter connection/disconnection, and fixed an
error when trying to update component plots when they are not enabled.
More resilient CmpPartial

No longer throws an exception when comparing to objects without the
correct attributes.
Made addition/removal of Model components dynamic

Made Model.append() and Model.remove() play with
Model.enable_plot_components() and Model.enable_adjust_position(), so
that the plot is automatically updated if adding or removing.

Conflicts:
	hyperspy/model.py
functools.partial init fix
Fixed dynamic component remove functionality

To dynamically remove a component while enable_adjust_position() is on,
each widget needs to store the component it is tied to. Previously this
was only stored for the label, not the DraggableVerticalLine. Also fixed
some bugs introduced by the show_label option.