Refined contextual menu

Now will only offer to plot lines or overplot if the resulting plot
data is one-dimensional.
Added NXtree.node_from_file

This returns a node in the tree that has the given filename. Useful for
checking if a file is already opened.
Fixed bug when plotting flattened arrays

If the signal array has size-1 dimensions, they are removed, but the
shape was not reset in a previous refactoring of the code.
Added support for external links

There is an additional class, NXlinkexternal, which allows links to
external fields (not groups, currently). If a filename is included when
initializing an NXlink, the target is assumed to be in the external
file. In this case, the link can have a different name from the target,
since they are in different files. The “Show Link” menu item will
attempt to open the file and show the actual target in the tree, if the
file exists. At the moment, external links are read-only. Any editing
will have to be done on the original file.