Redid command line code

This supports:

* -h, --help
* --version
* -c cmd
* -i cmd
* file
* -

Plus it's easy to add new options.

Also, now we can do ridiculous things like have projects where
the installation is:

$ curl -s http://example.com/install-hypster-program | hy
Add license to new file
Fix license header
Back-figuring the license/copyright info

I did a git log thing to figure out who touched bin/hy and copied
those people over here since the bulk of the code came from bin/hy.
Revert wrong changes on temporary_attribute_value

We don't want to ignore any error.

Signed-off-by: Julien Danjou <julien@danjou.info>
Make temp attribute more solid and add unit test on regression

Signed-off-by: Julien Danjou <julien@danjou.info>
Implement import_buffer_to_module
Fix "hy -c CMD" to show lex errors; add tests

* tells you there's a lex error, but doesn't tell you much else
* adds tests for all new bin/hy functionality
Merge pull request #155 from willkg/better-c

Fix hy -c CMD to better handle lex errors
update readme
Re-indent Hy code using hy-mode

Signed-off-by: Julien Danjou <julien@danjou.info>
Make HyList add returns HyList

Signed-off-by: Julien Danjou <julien@danjou.info>
Add a `when' macro

Signed-off-by: Julien Danjou <julien@danjou.info>
Add a `unless' macro

Signed-off-by: Julien Danjou <julien@danjou.info>
Update indentation for `if'

Signed-off-by: Julien Danjou <julien@danjou.info>
Rename `decorate-with' to `with-decorator'

Fixes #158

Signed-off-by: Julien Danjou <julien@danjou.info>
Don't lex "j" as a complex number.

This fixes #143
Refactor compiler using a result carrying object

This object allows to coerce statements to an expression, if we need to use
them that way, which, with a lisp, is often.

This was collaborative work that has been rebased to make it bisectable.

Helped-by: Paul Tagliamonte <paultag@debian.org>
Helped-by: Julien Danjou <julien@danjou.info>
Do the macro processing in the compiler
mangles kthxbye