Don't die if amixer returns an error

The volume widget seems to die at various points due to a bad amixer
invocation. It's not immediately obvious why amixer fails at some points but
not others, though. However, the volume widget shouldn't die when this
happens.
Several modifications to google calendar widget

* updated YhoWX and base.py for threading

* isolated run(FLOW, storage) in a separate thread, so that it
doesn't block qtile during the authentication process. This required removing
one line from the oauth2client.tools module, specifically storage.put(), as
that line was not thread-safe. The revised module is included in the
qtile/libqtile directory, and is called custom_tools.py. As a result of this
modification, we have to remember to storage.put() our credentials ourselves in
the main qtile thread.

* added markup and clickability to GC widget
Resolve more issues with the clock

* Each _configure() call would spawn another chain of timeout calls, which is
  not so great. Now we check the configured flag so as to only spawn one chain.
* Widgets which had not yet been __init__'d when clock was _configured()
  (updated()) would die, since their defaults were not initialized. This commit
  defers starting the clock update chian until the event loop is idle -- that
  is when there is no more initialization to be performed.
Add missing import
Minor: typo

Closes #270
Fix xpyb(-ng) documentation
Fix crash in mpd widget
Use DEBUG to log timer events

Conflicts:
	libqtile/widget/base.py

Closes #253
Vim-like keys for moving left/right and swap

Commands to move left and right. Swap windows-commnd. Swapping current window
with with closest window in one of four directions. Keys for vim like focusing
and swapping of windows with modkey-[hjkl] and modkey-shift-[hjkl]

Closes #278
Fix missing non-ascii symbols in window titles

Closes #279
Removed duplicate property

Closes #280
Set up configurable output formats in MPD widget

Closes #272
Avoid a common python gotcha
New package for ubuntu version

I packaged master, but I figured I'd throw this commit here. This way it'll
force us to have a release before 13.10 :-)
Closes #285
Only build one copy of qtile for all architectures

Hooray python :-)
Fix #282: focus on next window on kill in TreeTab
Update test documentation
Xmonad layout works with relative secondary sizes

...to properly handle different screen sizes.

Closes #287
java focus workaround

workaround for #227
Closes #227
Closes #289

@tych0: rearranged some code