Make first and rest fns instead of macros

car and cdr are still macros, but I'd recommend either making them
fns or removing them.
Add callgraph stuff. Slick look.
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
add clinton
Fix a markup error in the apply doc.

See http://docs.hylang.org/en/latest/language/api.html#apply
for the example.
Merge pull request #442 from berkerpeksag/sphinx-markup-fix

Fix a markup error in the apply doc.
Added merge-with