Add support for explicit exception chaining

A la PEP 3134
Tests for explicit exception chaining

This also breaks out the PY3 only tests into their own file.  We need to do this because raise from is a syntax error in PY2, so we can't rely on the previous hack of catching a HyCompileError - it would compile fine through Hy and then be a syntax error in Python.
raise hy compile error on Py2.x for raise from
revert yield-from test

Yield-from was introduced in 3.3, so we have to catch the compile error that's raise in 3.2. :(
(force Travis CI to rebuild)
In order to fix #608, we need to know which symbols can't be assigned.

Python has the keyword.iskeyword method we can leverage for Python
keywords, but we also need to address Hy builtins like 'get' or
'slice'.

And to make behavior compatible with Python 2 or 3, we also make
a special case to prevent assignment to False, True or None as
well as the Hy versions: false, true, null, and nil.

For non-Hy modules, we also check to make sure the symbol is not
part of the compiler. This allows shadow.hy to override "+" but
prevents general use from re-defn-ing 'get' or 'do'.
Merge pull request #617 from rwtolbert/bugfix/assign_to_None

Adding code to prevent assignment to some core builtin names
Update Dockerfile to use the "python:3" base image, which simplifies things
Merge pull request #621 from tianon/docker-from-python

Update Dockerfile to use the "python:3" base image, which simplifies things
Export filterfalse/input/zip_longest
Remove 'remove' (duplicate of 'filterfalse')
*cough*
Add a simple .mailmap file
Added read and tests
Typo fix s/reprsntation/representation
Merge pull request #633 from theanalyst/fix/typos

Typo fix s/reprsntation/representation
Renamed stdin -> from-file and removed apply from tests + docs
Implement interleave and interpose
Merge branch 'master' into pr/628
Merge branch 'master' into pr/635