Fixed Atom.evaluate to return new instance of Atom
Sequence.evaluate creates execution stack, still buggy
A sequence can return a tokenized version of itself; parse turns the tokens into atoms
Added pry for debugging
Sequence properly sets execution order