Kill kwapply.

Closes #433.
Fix versionadded in docs to 0.10.0 release
Added lisp-if (or lif), with tests and documentation.

Now everyone can get along and everyone can have a pony, and that pony is
actually a unicorn that shoots rainbows from its horn.
defmain macro; handles the whole if __name__ == __main__ / main function dance

Example:

  (defmain [&rest args]
    (print "now we're having a fun time!")
    (print args))

Which outputs:

  $ hy test.hy
  now we're having a fun time!
  (['test.hy'],)

Includes documentation and tests.
Properly add yield-from, using python's real "yield from".

The yield-from that existed previously wasn't actually implementing the
full complexity of "yield from":

  http://legacy.python.org/dev/peps/pep-0380/#formal-semantics

... this includes passing along errors, and many other things.

Also removes the yield-from backport macro, since it does not seem
possible at present to conditionally build macros.

Thus, there is no longer yield-from on pre-python-3.3 systems.

Includes updated docs and tests to reflect all this.
Merge branch 'master' into pr/515
Add a missing versionadded directive to the lisp-if/lif documentation.
Fix a code-block in the lambda documentation.
Merge pull request #553 from berkerpeksag/missing-versionadded

Add a missing versionadded directive to the lisp-if/lif documentation.
add make flow to the hacking docs
Changed conf.py to use RTD theme if available
document dict-comp and genexpr
document set-comp
Reimplement some built-ins in terms of the standard library.

As a result:

  * functions such as `nth` should work correctly on iterators;
  * `nth` will raise `IndexError` (in a fashion consistent with `get`)
    when the index is out of bounds;
  * `take`, etc. will raise `ValueError` instead of returning
    an ambiguous value if the index is negative;
  * `map`, `zip`, `range`, `input`, `filter` work the same way (Py3k one)
    on both Python 2 and 3 (see #523 and #331).
Move the documentation for `zipwith` to the correct place.
Make hy2py public.
Merge branch 'master' into pr/524
Merge branch 'master' into pr/526
correct ..versionadded:: for defmain
my mistake, should have spotted before merging and pushing
Merge master onto pr/580