Changed to ScriptableObject instead

Now I can create a Waypoint like a normal object. I am actually thinking
about creating a struct instead which will make it even more
lightweight.
Fixed the changes needed when changing list types
Changed units list from JS Array to Generic List

Generic Lists are faster than JS Arrays because they are type declared
when they are constructed. Still slower than Builtin Arrays though.
Working on why the left click event on GUI unit list doesn't select the
unit clicked.
Changed list types, added Command struct, and modified Select functions

Again changed list types to Generic Lists. Created a custom Struct for
Commands which will make it easy to modify them for unit's use. Also,
modified selected functions to include a peek function which just sets
the planeRenderer to select value. Selected is meant to be overriden if
there needs to be a custom select event.
Added Ended function
Added Ended function
Fixed new list errors and started redoing waypoint system
Attempted to rework the Array helper class (FAIL)