Add set of new core functions

Add set of new core functions to the stdlib.

Moved the auto-import code from compile_expression to
HySymbol so that "even?' in this style expression will
be found and imported.

(list (filter even? [1 2 3 4 5]))

The core functions are documented in 2 sections, one
for basic functions like (even?..) and (nth ...) and
one for all the sequence functions.

Update: This removes all the caching decorators, misnamed as
'lazy-seq' from the core. All sequence methods now just use
yield to return a generator, so they are Python-lazy

Further refinements of core functions

Cleaned up the docs to use 'iterator' instead of 'generator'

Fixed drop to just return the iterator instead of an extra
yield loop. But also added a test to catch dropping too
many.
make assoc accept multiple values, also added a even/odd check for checkargs
added @tuturto sugesstions and flake8 errors
Merge branch 'master' into pr/236
added @paultag suggestions
Merge branch 'master' into pr/254
initial macrodef documentation
Make `with` return the last expression from its branch

Thanks @rwtolbert for the bug report
better macro example
documentation for global
Fixes a mistake (most probably a typo) in the tutorial.
Merge pull request #260 from rahmu/master

Fixes a mistake (most probably a typo) in the tutorial.
fix to assoc docs + new multiassoc definition
documentation for require
working on documenting macros
cond documentation
working on documenting builtins
clarified rest / cdr, cleaned up require
Merge branch 'master' into pr/258
Merge branch 'master' into pr/263
Merge branch 'master' into pr/262