[NixIO] Generate unique name on object write
[NixIO] Generate unique name on object write

When a Neo object is being written, a unique name is generated based on
UUID4. The type of the Neo object is prepended to the UUID to make it
more readable and to avoid conflicts with NIX methods that rely on
identification of strings as UUIDs to search for IDs internally.
On the Neo side, the "NIX name" is stored as an annotation. The original
Neo object's name is preserved as a metadata property in NIX.

INM-6/python-neo,rgerkin/python-neo,apdavison/python-neo,theunissenlab/python-neo,JuliaSprenger/python-neo,samuelgarcia/python-neo,mgr0dzicki/python-neo,NeuralEnsemble/python-neo