Allow quoting lambda list keywords.

This fixes an obvious bug where LambdaListKeywords couldn't be quoted.
Merge pull request #267 from olasd/bugfix/quote-lambdalistkeyword

Allow quoting lambda list keywords.
Update:

    Updated most methods to replace While with For, and added tons of new tests
    for things like (cycle []) and lists with None's in them.

    thanks @olasd

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.
Merge pull request #268 from rwtolbert/new_core_functions_3

Add back some missing changes from PR #236
Add in yield from

 This also requires a reflow of how the macros are required, since
 they can now be written in hy code, so it leads to a really stupid
 bootstraping problem.

 I've done what we've already done for hy.core.language and avoided
 triggering macro import when we're building a hy.core module.