Mass re-factoring in support of a new DSL. Noteworthy:

* upgraded Scala to 2.9.2 with incremental compilation
* uses Specs2
* uses Kiama for pretty printing
* takes on a functional dsl

Thanks in particular to @richdougherty for his review.