Start transition to representing all objects as ConsCell ptrs.

Start the move away from distinct C++ classes to represent Sexp, Cons,
Symbol, etc. Everything is now just a pointer to a ConsCell.

This uglies up the code quite a bit and means we lose the type safety
and other advantages of real C++ classes in order to be more faithful
to the description of the implementation from McCarthy's paper.
Implement MakeAssociationList and MakePnameList.
Implement SymbolName.
Only Barf sizeof ConsCell* pointer bytes from car_/cdr_.

Also, re-enable symbol related ReaderTests.
Implement bool operators for ConsCells.

Re-enable the rest of the ReaderTests.
Add HackToFixNil.
Only init kNil/kT once in Reader::Init, and call HackToFixNil if needed.
Update REPL to read/print a ConsCell * rather than a Sexp&.
Implement operator<< for conses.
Rename ConsCell::car_ -> car and cdr_ -> cdr.
Convert ConsCell from class to POD.
Add world's dumbest evaluator.
Only specify const for ConsCell args, not return values.

It's probably OK to have MakeSymbol return a const ConsCell*, but
MakeCons should definitely should not.