Add callgraph stuff. Slick look.
Adjust (for) to just use itertools.product

 This is to avoid nesting in for loops, helping make clear
 what (break) and (else) do.

 This commit is hereby dedicated to @nedbat
add test for new for logic.
Add handling for (for []). Nice catch, @olasd.
Fix a few typos in the tests. Thanks again, @olasd
slice is amazing, @olasd is amazing, I love everything.
Merge master onto pr/429
Merge branch 'master' into pr/430
Adding a simple `coll?` function to the core

* hy/core/language.hy:
  -Added a simple coll? function that checks whether the given argument
  is an iterable and not a string,
  - Also replaced the check in `flatten` by coll?

* tests/native_tests/core.hy: Tests updated for checking coll?
docs: update docs with coll? functionality
Merge master onto pr/428
Merge branch 'f/is-coll' of https://github.com/theanalyst/hy into theanalyst-f/is-coll
Fix indentation of *exports*
Merge branch 'master' into pr/425

Conflicts:
	hy/core/language.hy
Added loop/recur macro for tail-call optimization