First draft of a clojure front end to drake

Add the clj-frontend ns and convert drake.core/configure-logging into a
public function.

A serious downside to the code in this commit is that some of it is copy
and pasted out of the relevant functions in the parser ns, leading to
code duplication.  This will make it harder to alter the parse tree in
the future because changes will be needed in both parser and
clj-frontend.  A cleaner option would be to rewrite parser so that it
delegates to clj-frontend when it actually wants to modify the
parse-tree.  Unfortunately, I don't understand fnparse well enough to
know if this approach would be possible.
Shorten fn names and reverse infiles and outfiles

Now outfiles come before infiles and the method names are shorter, e.g
method-step instead of add-method-step.

Add a function add-methods which can add methods in bulk to the
parse tree.

Rename opts to options in step, method-step, cmd-step and method.

Rename opts to run-options in run-workflow.

Update the example to reflect some of these changes.
Add variable substitution
Clean up code and add tests

Move helper functions into clj-frontend-utils ns.

Fix several problems in variable substitution.

Add tests.
Move test helper functions to utils

Move helper functions from clj-frontend-test to clj-frontend-utils.

Stop removing whitespace fron the parse-trees in tests, just add a bit
of whitespace to the beginging of the clj-frontend commands when
comparing the output of clj-frontend to drake/parser in tests.
Add a method test and support method options
Add off-base test
Merge pull request #123 from morrifeldman/feature/clj-frontend

First draft of a clojure front end to drake