first try to fix fullscreen
Set _NET_WM_STATE when the client requests to do so (fixes fullscreen)

Tested with mplayer2, chrome and firefox.

Also refactored handle_ClientMessage to use sets to handle the state
flags, and added a small TODO to xcbq's get_net_wm_state(), pointing out
that it returns only the first item of the list (this doesn't affect
anything as long as we support only _NET_WM_STATE_FULLSCREEN)
Implement a few essential EWMH hints

Including _NET_SUPPORTED, _NET_SUPPORTING_WM_CHECK and _NET_WM_NAME.

Fixes fullscreen on gnome-terminal, which checks first if there's an
EWMH compliant window manager using _NET_SUPPORTING_WM_CHECK, then looks
into _NET_SUPPORTED for the needed flags (_NET_WM_STATE_FULLSCREEN)

(The xcbq.SUPPORTED_ATOMS list is obviously incomplete, please add more
if needed)
Honour auto_fullscreen config.

Check auto_fullscreen setting before analysing the _NET_WM_STATE
ClientMessage.
Update test configurations.
Add a default timeout for all notifications

Closes half of #311
fix typo
fix identation typo

Closes #312
Release qtile 0.6.
Fix typo in migration command
Add map to Match
Automatically manage master windows in tile
fixing xmonad name configuration

Closes #314
Fix initial group layout

* propogate initial layout setting when creating groups
* don't configure groups twice on qtile start

Closes #315
added iteritems to layout_opts iteration

Closes #317
Remove state from window's hints

This information is available via other means, it's unused by qtile, and
putting it in hints is causing a headache. Read on for a tale of sad pandas.

Closes #318, Closes #319

The problem here is that in some cases systray icons aren't ready to be probed
yet, but we still receive map events for them. In other cases, we've solved
this by making things lazy (see bde2559a and subsequent commits). ICCCM says
that WM_STATE can be unset if a window is Withdrawn (although Qtile sets
Withdrawn instead). Unfortunately, without an otherwise unecessary change to
our xcbq API, there's really no way for us to tell the difference between "this
window doesn't exist and so you made a bad query" and "this window's WM_STATE
is not set" (although again, since we manage WM_STATE and we never unset it, it
*shouldn't* be unset).

The xcbq api is nice the way it is and we're not using state in hints at all
anywhere, so it seems the best course of action is just to avoid querying the
state property before the window actually exists. If this whole laziness thing
continues to be a problem, a change to xcbq is probably warranted. Since we
handle most BadWindow/BadDrawable errors at the top level now, it probably
wouldn't even be that painful.
Fixes to ConfigureRequest handling

* Don't crash if the window isn't currently on a screen
* Only center on the first request

Closes #321
add support to go to next unmanaged group(without screen)

ie.
lazy.screen.nextgroup(skip_managed=True)

Closes #322