Failing tests for reduce

Reduce may not be the right term
Simplify ast model.

Before we had:
Expressions -> Lists -> Expressions -> Atoms

Replace expressions with arrays. We have one top-level array
to represent the list of expressions in the program, then
lists contain an array of enclosed expressions. Add
tests helpers to make it easier to build these structures 
in tests.
Refactor failing car tests.

I think 'run' is more natural than reduce for now.
Fix incorrect code in test.

Your writing scheme not ruby.
Naive implementation of car to make the first two test pass.

only runs for top-level lists