[nixio] Special cases for annotations
[nixio] Special cases for annotations

Empty lists and tuples: If an annotation's value is an empty iterable,
the property value is set to empty string and the definition is used to
signify that the original value was an EMPTY LIST. On read, this is used
to set the annotation to [].
Fixes #500

Lists of strings: Multidimensional data are not supported. Lists of
strings were being detected as multidimensional because strings are
iterables. Items in an iterable are now checked against string types
before checking if they're any other type of iterable.

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