Added GoogleCalendar widget

@tych0: Minor formatting changes, removed commented out code.
Add line accidentally deleted from google calendar

Closes #262
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
merged upstream files