Ensure WithdrawState windows stay unmapped on restart
Obey min/max/inc width/height hints
Don't log events in qtile.ignoreEvents to debug
General cleanup of layouts for naming consistency

All windows are named "client"
All window lists are named "self.clients"
All info() methods return an item called "clients"

Also removed some useless imports
Add a bunch of checks to avoid errors with layouts with no clients
Use log.exception for errors during startup
Use log.exception instead of traceback module in hook.py

Doesn't really improve anything, just cleanup
Check if self.group exists in tweak_float
Set qtile process title to "qtile"

Uses py-setproctitle if installed, otherwise fails silently

http://code.google.com/p/py-setproctitle/

Setting the title lets you do stuff like "killall qtile".
Fix configure request repositioning bugs

Should fix a bunch of issues mostly with floating windows.
Steam seems to be less confused now.

Also removed the "twice" hack for gtk apps.
Depend on python-setproctitle
Changed Configurable class

It makes more sense to assign real attributes once
instead of searching for proper value every time attribute is requested
If given attribute has a setter then it will be used
Don't use unmarshallable objects in stack's info()
s/(all|windows)/clients/g in the tests
send a synthetic ConfigureNotify event when position change

see 4.2.3. http://tronche.com/gui/x/icccm/sec-4.html

Closes #382
Make tests run on git version

Adding the __init__.py file to the tests directory causes nose to use
the code in the git directory, rather than the globally installed
version.  Additionally, changes to loading configuration files and
utility scripts allows for `nosetests` to be run from the root
directory.
Add qtile.egg-info to gitignore
Report support for _NET_WM_STRUT*

We have logic for respecting these, although we don't report support for it.

Closes #385
Prevent various crashes in qsh
Remove odd 'if self:' pattern.