Add tests of the lambda lifting code

shitty tests >> no tests, unfortunately I don't really have a better way
to test the code emitters than ensuring that the eval of the result is
equal to the eval of the source AST.
Add a simple nested letfn test case
Add a test for lifting letfns with the same name

This test makes sure that lifted letfn forms do not result in name
conflicts under Oxcart.
Add a case covering local rebinding

Make sure that for nested definitions of bar, the correct one is the one
used after lambda lifting occurs.
Whitespace
Make lift-lambdas a fix operation

Don't stop till we lift 'em all! :D
Refactor helper functions out into util
WIP commit, starting to add a tree shaking pass
Add timbre as a dep
Add a helper for formatting line information
First cut at module tree shaking
Correct iteration variable
Share a single env

Conflicts:
	src/oxcart.clj
Add conditional evaluation to oxcart/eval

Conflicts:
	src/oxcart.clj
[ISSUE] Loading core
Resolve type issues blocking tree shaking

Tree shaking now works!
That needs to be assoc-in not update-in
Bump version before release
Update README to show current work status
Merge branch 'release/0.0.5'