Improved NXdata behavior

Creating an NXdata group now adds ‘signal’ and ‘axes’ attributes to the
group attributes. A rename operation on the signal will update these
attributes. Also, when creating an NXdata group with signal and axes of
the same ‘nxname’ , the signal gets renamed. This prevents problems
when the signal NXfield is created by an operation on an axis NXfield
that returns an NXfield with the same ‘nxname’, e.g., NXdata(np.sin(x),
x), where x is an NXfield - in this case, the signal ‘nxname’ is set to
‘signal’.