Add #atom? implementation

Chnages were required to tbe adater and matchers to reflect that we return
Atom::TRUE rather than ruby true from query methods
Add Atom#eq?
Atom#eq? returns nothing when self or other is a number

This matches the definition of eq? in the box in the book, on the assumption
that numbers are defined as whole numbers.
Add specs for chapter two
Implement cond

We had to hack the adapter to get this working, and some questions were raised
about it's value now that our implementation is diverging from that which it
expects.

Note: else always evaluates to true in this implementation (which is at
least partially implied by page 23).
Merge pull request #4 from mocoso/fourth-meeting

Make the remaining chapter one examples, and some of the chapter two examples, pass

This work was done during the fourth meeting of the Little Schemer book club.
Remove unused require

Not needed since c13a3c40840a2fa3c9b3c2a8f8df882f5cffb8bf.
Remove unnecessary #== from SExpressionAdapter

I think we only needed this temporarily as part of some avenue of
investigation which didn't get committed. It doesn't do anything now.
Remove useless EnvironmentAdapter

This hasn't been doing anything since a2b0298bd38872404a00bf10dbbad87b96f4b7c8.
Remove the "program" idea from tests

Our parser and evaluator don't have "programs" (sequences of multiple
S-expressions), and the impedance mismatch is making everything more
complicated.
Remove unused ProgramAdapter
Detect S-expressions by just parsing them

This assumes that the parser will fail (raise an exception or return
nil) if the string isn't a valid S-expression, which is currently the
case.
Call #array instead of #s_expressions
Make List#array public

We need to be able to call it from the tests, and making it public means
the adapter proxies it automatically.
Check class in be_an_atom and be_a_list matchers

This decouples the "is this an atom/list?" question from decisions
around the design of predicates on Atom/List instances (i.e. whether
they should return Ruby or Scheme booleans).
Remove unused #atom? and #list? from SExpressionAdapter
Remove useless SExpressionAdapter
Remove useless EvaluatorAdapter
Turn parser results into an AST in ParseHelper

It's fair enough to allow the parser to return a concrete syntax tree,
and for the helper to be responsible for turning that into an AST.
Remove useless ParserAdapter