Second attempt at SExp refactor/simplification.
Started implementation of SwankProtocol tests.
Merge pull request #549 from rorygraves/sexp_refactor2

Second attempt at SExp refactor/simplification.