Minor error fix when list is empty

and removed unused variables in GetUTF8Bytes.
Fix for when EndGame is passed a number

Apparently that's a thing that will happen.
Minor formatting changes

Prefer things not to go too far along one line.
Less awful command creation at startup

This is somewhat more readable.
Better error message if trying to target self

with a command that cannot target self.