This method adds an item to the array.
You can add an Atom directly into the array or you can use one
of the overloaded operators to add numbers or strings.
When you add a string this is encapsulated within a StringAtom and then inserted.
When you add an integer or floating point value this is converted
to a NumAtom and then
inserted. These operations are more efficient than creating an Atom
and adding it yourself.
Atoms can exist in only one place at a time. If the Atom
supplied is already contained by another object then a Clone of the Atom is
Adding a null value will result in a NullAtom being added to the