Clean up documentation headers

Some day I will get all this right. Some day.
Correct a small mistake on README.rst
New debuginfo widget to help qtile debug.

  Shows focused window's index, stack or section index ...
  Supports only TreeTab and Stack layouts for now but more will follow.

  Closes #401
Add autosplit parameter to stack layout

  Disabled by default, it makes all stacks
  splitted by default.
Add previous_on_rm param to TreeTab layout

Makes previous window selected on remove instead of first.
Default value: False
Rearrange config options

* stacks argument is now num_stacks to avoid conflict
* several arguments from recent PRs merged to defaults framework

Closes #400
Closes #398
Bind a shutdown key in the default config
new widget: a launchbar

... with icons to click to launch a software or to execute a qtile python
instruction (like for login out, see example in code)

Closes #397
Shutdown qtile on XCB fatal connection errors
launchbar requires xdg

We don't want users to have to install every dependency for every widget, so as
before, we just protect this by catching ImportError.
Fix some {Name,Attribute}Errors
add support to match wm_class instance in Match objects

the first string in WM_CLASS atom, is the instance class name
see 4.1.2.5. at http://tronche.com/gui/x/icccm/sec-4.html
bitcoin ticker widget uses btc-e instead of mt gox
Make layout.Max answer to _Group.cmd_{prev,next}_window()
Add bitcoin defaults in the right place
Allow passing SCREEN_SIZE to Xephyr and flags to qtile
Default to setuptools but don't fail if it's not available.

Closes #411
Use real abstraction for layouts:
* Set Layout metaclass to abc.ABCMeta
* Layout's methods that are decorated with @abstractclass must be implemented in
  every layout, so when looking at layout.py, we can know easily what method can
  be used safely everywhere
* Implement those abstract methods on layouts that don't already have them
Make Slice and Single respect Layout abstractmethods
+ fix a small omission on renaming "focus_prev" to "focus_previous"
Standardize layouts and their commands
* Removed focus_first and focus_last on SingleWindow, so every child class must
  implement those two;
* Make EVERY layout working with group.{prev,next}_window, and give hand back
  to floating_layout when the last window of the layout is called;
* Make EVERY layout working with layout.{prev,next}, without giving hand back;
* Standardize implementation of window lists and movemements related: layouts
  must not shuffle their list but have a reference to the current focused
  window, otherwise focus_first and focus_last could not exist;
* Standardize focus_next and focus_prev implementation so that it returns a
  window or None if at the end of the list (so that group.{prev,next}_window can
  switch to the floating layout);
* Changed few tests to make them more pertinent / working with those standards.