We don't need a specialized parser state for the tests
Don't run shell expansions when their value will not be used.

For #139.
Add a test that ignored shell expansions aren't run
Don't allow = in filenames unless quoted.

Relevant to #80, #139.
Add a test that var defs are not speculatively parsed as files.
Add a test confirming that you can use ) in shell expansions.

Addresses #118.
Fix some lingering :exit/:exit-code confusion
Allow whitespace around = and :=
Don't shadow fn. It's just so confusing.
Make more use of column and line number in errors.

Fixes #55.
Make throw-parse-error more convenient/pretty to use
Add :methods to the stuff copied by %include.

Fixes #78.
Add test for f9fbbf90e
Move all options parsing into drake.options.

Someone had left a TODO, so I DID it.
Merge branch 'develop' into inline-vars