add some _NET_SUPPORTED atoms

some atoms that i found we support, but don't announce
for example, this fix support of _NET_WM_PID on some applications
Send stdout/stderr of spawned processes to /dev/null

Fixes #377
Fix #379, "CPU usage leak" with battery widget

Failing to find a valid file for the battery widget files means it will
retry later for no good reason - and each of those attempts will modify
the global BATTERY_INFO_FILES list, adding one filename at the beginning

The fix is simple, just make a copy of that list before modifying, and
additionally set a "negative cache" of filenames to avoid repeating

Thanks DavidMikeSimon for reducing this bug to this widget,
and blotus for pointing at the file open errors.
Merge remote-tracking branch 'dequis/spawn-stdout-to-dev-null' into develop
Don't draw widget if offset isn't set yet
update default config and add documentation

The default config can now click and drag and is more concise. Also added
documentation for parameters that users are most likely to be interested in (in
particular, wmname).
remove .hgignore
Move ._groupconsistency() to .groupconsistency()
Re-arange testing function calls

Move all Xephyr stuff to setup/teardown functions and all Qtile stuff to
wrapper.

Make a tmporary folder for temorary qtile files
Use multiprocessing library to launch and monitor Qtile instance
Make sure socket is up before creating Client
Use subprocess rather than fork for _testProc
Custom logging path

Can be set by the variable `log_path` in the config file, or passed to
`init_log()` with the `log_path` kwarg.
Add log output to nose output
Wait for Xephyr until the process dies
Merge remote-tracking branch 'flacjacket/better-tests-develop' into develop
add fair property in stack layout
	- when fair is True, adding new window into Stacks in round-robin way
fix up stack fair patch
remove unused variable

Hooray travis-ci catching lint errors :)
Merge branch 'develop' into cffi

Conflicts:
	libqtile/widget/launchbar.py