Patch fennel compiler to know that goto is a keyword.

This is fixed upstream, but we'll pull in the whole stable release
once it's out.
Allow it to run as a script or be used as a library.
Don't emit step in for loop when step is 1.
Changelog updates.
Separate out transform-do vs transform-fn.
Emit let instead of do+local or fn+local.
Update fennelfmt to latest version.
Update fennel to latest version. (0.5.1-dev)
Emit nils a few places it makes sense.
Keep the parser agnostic of Fennel.
Technically for introduces a local too.
Use luajit exclusively in CI.
Fix a bug in scoping for each.
Run antifennel on fennel and then run fennel's own test suite on that.
Include a copy of Fennel in the repo.

For repeatability reasons.
Compile local f = function() idiomatically to fn form.
Emit local when appropriate instead of var.

Use set/set-forcibly!/global for assignments as appropriate.
Add changelog.
Support ExpressionValue AST node type.