First draft of a clojure front end to drake

Based on encouragement from Aaron following this email to the [drake group](https://groups.google.com/forum/#!topic/drake-workflow/N4vg9brgvzw), I wrote a draft for a clojure frontend to drake.  Here is an example of its use:

```clojure
(use 'drake.clj-frontend)
(def p-tree (-> (new-workflow)
                (add-cmd-step
                 []
                 ["out1"]
                 ["echo first_output > $OUTPUT"])
                (add-method
                 "test_method"
                 ["echo method_test > $OUTPUT"])
                (add-method-step
                 []
                 ["method_out"]
                 "test_method")
                (add-var "test_var" "TEST_VAR_VALUE")
                (add-cmd-step
                 ["out1"]
                 ["out3"]
                 ["echo third_output with $test_var: | cat - $INPUT > $OUTPUT"])))
(run-workflow p-tree)
```

A serious downside to the current code 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.

If anyone has any comments or ideas relating to a clojure frontend to drake or specifically to this implementation, please feel free to discuss them in this thread.