Making (import) a lot smarter

With these changes, the import function will become a lot smarter, and
will combine all of import, import-from and import-as in a hyly lispy
syntax:

 (import sys os whatever_else)
 (import [sys [exit argv]] [os :as real_os]
         [whatever_else [some_function :as sf]])

That is, each argument of import can be:

 - A plain symbol, which will be imported
 - A list, which will be handled specially

If the argument is a list, the first element will always be the module
name to import, the second member can be either of these:

 - A list of symbols to import
 - The ':as' keyword
 - Nothing

If it is the ':as' keyword, the third argument must be an alias. If it
is a list of symbols to import, we'll iterate through that list too. If
any symbol is followed by an ':as' keyword, we'll pick all three, and
treat the third member as an alias. If there is nothing else in the
list, we'll import the module as-is.

All this combined fixes #113.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Remove `pass' from the language.

This also fixes a bug in the pass optimize missing branch where the code is
something like: [stmt, [], stmt]; in such case we want to filter out [], so
if we end up with [] we can optimize it. This fix is needed otherwise (do)
inside (do) are not properly optimized.

Signed-off-by: Julien Danjou <julien@danjou.info>
use hy
try: add support for `finally'

This fixes #75

Signed-off-by: Julien Danjou <julien@danjou.info>
Enhance error handling

We now have a full backtrace if the compiler bugs, and if it's a user
problem we indicate him where he failed.

Signed-off-by: Julien Danjou <julien@danjou.info>
Add missing bits operator and power

Signed-off-by: Julien Danjou <julien@danjou.info>
Add AugAssign handling

Signed-off-by: Julien Danjou <julien@danjou.info>
Implements `else' for `foreach' statements

Signed-off-by: Julien Danjou <julien@danjou.info>
Merge branch 'jd/for-else' of git://github.com/jd/hy into pr-121
Merge branch 'jd/remove-pass' of git://github.com/jd/hy into pr-122
Merge branch 'f/smart-import' of git://github.com/algernon/hy into pr-113
some style fixes for @algernon
Merge branch 'jd/finally' of git://github.com/jd/hy into pr-94
removing the pass
Adding in some new items
fixing the bits