Add CL handling to hyc

This adds real command line handling to 'hyc' for issue #256

This fix catches missing/unreadable files and prints a nice
error message instead of a nasty stack trace when trying to
compile a non-existent file.

Also add this non-existent file check to hy to prevent the
current stack trace from something like "hy foobarbaz" when
"foobarbaz" doesn't exist.

also changes the failure return value to 2 to match Python.
documentation for defun / defn and let
documenting defn / defun
minor fix
Merge branch 'master' into pr/271
Add yield from via macro magic.

 This will let us use (basic) yield from behavior from Python 2. This
 isn't complete, and is low-hanging fruit for others willing to hack
 on hy.

 I've also changed the macrosystem to allow for proper bootstrapping.
 This is similar to how it's done elsewhere in the codebase (stdlib
 stuff).
Add "spy mode" to REPL
With the command-line option --spy, the Hy REPL prints the Python
equivalent of each expression before evaluating it.
Merge pull request #265 from rwtolbert/hyc_args_fix

Add CL handling to hyc
Merge branch 'master' into spy-mode
Merge pull request #275 from khinsen/spy-mode

Add "spy mode" to REPL
Merge pull request #266 from paultag/paultag/feature/yield-from

Paultag/feature/yield from
Fixing blank line Flake8 failures
Add flake8 to Travis-CI to prevent these from coming back

Added new travis make target to skip flake8 on pypy but run it on all others
Removed duplicate flake8 since it has moved into requirements.txt
fix def / setv example
Merge pull request #282 from tuturto/doc

fix def / setv example
Merge branch 'master' into pr/280
Macro if-python2 for compile-time choice between Python 2 and Python 3 code branches
Add zero? predicate to check if an object is zero
Merge branch 'master' into pr/287