Make navigation_shape and signal_shape () when their dimension is 0.

Currently, when the navigation or signal dimension is 0, the navigation/signal shape is (0,). This is in contrast with numpy where the shape would be (). This changes HyperSpy behaviour to be more consistent with numpy, e.g.

    In [1]: s = signals.Spectrum((np.zeros((10))))
    In [2]: s.axes_manager.navigation_shape
    Out[2]: ()