Make HyObject.replace more resilient

This makes it work on quoted objects
Add macroexpand to core/language.hy
Added a simple test for macroexpand
Added documentation for macroexpand
Added macroexpand-1
Fixed --name-- scope problem using ugly inspect code
meth wasn't accepting correctly its parameters
Now also accepts more than 1 statement in the code part of the macro
refactored to use only 1 codebase (no more route != route-with-macros)
Fixed docstring
Added meth tests by mocking a Flask app
add nil as synonym for None
Add py_compile.{MAGIC, wr_long} to hy._compat.

Closes #344.
added for and with macros

Fixed up anaphoric.hy and added the tests too native_tests/__init__.py

added __init__.hy
Allow get with multiple arguments

When calling get with more than two arguments, treat the rest as indexes
into the expression from the former. That is, (get foo "bar" "baz")
would translate to foo["bar"]["baz"], and so on.

This fixes #362.

Requested-by: Sean B. Palmer <sean@miscoranda.com>
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Add some docs for gensym and siblings
Merge branch 'master' into pr/400
Merge branch 'master' onto pr/395
Adding documentation for flatten
Document the compiler a little.
Merge branch 'master' of github.com:hylang/hy
allow one-shot merge