Rewrite of grammar and cleanup.

Squashed commit of the following:

commit 446b61c8418afe6d53cdc135f98c1cd512f0f1a4
Author: Mark Wunsch <mark@markwunsch.com>
Date:   Thu Jun 20 16:07:46 2013 -0400

    Cleanup

commit 220592c15f956d8a8bc899eb84579702eb0c8b4b
Author: Mark Wunsch <mark@markwunsch.com>
Date:   Thu Jun 20 15:35:44 2013 -0400

    Complete grammar rewrite

commit 3bbe84982e278abb7f3b631b8534c5b2376c5c26
Author: Mark Wunsch <mark@markwunsch.com>
Date:   Wed Jun 19 19:43:15 2013 -0400

    Complete block/inverse block grammar

commit 220aabd2a6996780d805a636a59c8be35f7005ae
Author: Mark Wunsch <mark@markwunsch.com>
Date:   Wed Jun 19 12:11:35 2013 -0400

    Rewrite comment grammar and nodes

commit f8d4190fe436744ef45bfe4dd24b737b67abbec4
Author: Mark Wunsch <mark@markwunsch.com>
Date:   Wed Jun 19 10:45:27 2013 -0400

    Rewrite partial grammar and ast

commit 48cb3704c33fb888024c3b2e683d3385711c2c82
Author: Mark Wunsch <mark@markwunsch.com>
Date:   Mon Jun 17 17:35:47 2013 -0400

    Add grammar/parser trees for Hash parameters to helpers

commit 07f88795656bbe993ee1496e4b832301a3e9d43c
Author: Mark Wunsch <mark@markwunsch.com>
Date:   Fri Jun 14 15:15:13 2013 -0400

    Typed parameters in helpers grammar

commit ab8fbdebeb6f5b6dcbdc60a05144f95a914460f6
Author: Mark Wunsch <mark@markwunsch.com>
Date:   Fri May 31 18:00:36 2013 -0400

    Begin new Grammar combinator and tests with ScalaTest

commit 4ae4f9455b634e771ba41b5bffa2b8065250ea10
Author: Mark Wunsch <mark@markwunsch.com>
Date:   Fri May 31 18:00:22 2013 -0400

    Add deprecation flag to scala compilation options

commit bdcf8b5c99712b37d83e1e06a0ccbdc6f0a6e82f
Author: Mark Wunsch <mark@markwunsch.com>
Date:   Thu May 30 10:49:28 2013 -0400

    Install ScalaTest

commit 9819fc063664fafdf5ed20501ed2a6f429644885
Author: Mark Wunsch <mark@markwunsch.com>
Date:   Thu May 30 10:06:37 2013 -0400

    Focus on Grammar