add support to match by pid in dgroup Match

the window must have _NET_WM_PID look at:
http://standards.freedesktop.org/wm-spec/1.3/ar01s05.html
add support to add dgroups rules dynamically
add support to add dgroup rules from ipc

Example:

from libqtile.commdands import Client
c = Client()

match_args = {"title": ["test"]}
rule_args = {"float": True, "intrusive": True,
             "group": "somegroup", "break_on_match": True}

rule_id = client.add_rule(match_args, rule_args) # add rule
client.remove_rule(rule_id) # removes the rule
add bin/qtile-run a wrapper that add rules to the new windows

Example to run xterm in testgroup, intrusive and floating:
qtile-run -f -i -g testgroup xterm
move integer check in net_wm_pid to the constructor

if that fails, raise a QtileError
Add dialog to list of types floated by default
Fix for problem with Group layouts when using init=False and layouts []
group and previous_group aren't class attributes

they're instance attributes, so they should be initialized that way.
Fix broken wlan and she widgets.

These widgets needed further re-factoring following commit
409130bb1a6bc5e93d44cd2f302bb1acfcb90716
fallback to en_US locale if no pair for default currency

Closes #429
[doc] add missing stack layout parameters

Closes #431
mpris2widget.py:

* A widget for MPRIS2 compatible players.
* Uses scrolling text or like the old mpriswidget.py
* No problems with DBus, it uses a DBus receiver

Closes #427
Correction to prompt widget.

The prompt text template was being overwritten by the 1st invocation.

Closes #432
Revert transparency stuff in max

This reverts commit 874fb678e71e64112d68ac8ae0ab944c11817c37.
This reverts commit 1b46a8b8f70a46f3a0bcc1cb364933db8de42159.

Closes #419
Closes #421
Closes #423
Reopens #415

The problem with this approach is that it abuses X's "above" semantics, causing
lots of odd issues with floating windows (viz. the issues above). The real
solution here is to implement proper Z axis knowledge within qtile and then set
it accordingly. Based on some discussions in IRC, we decided it was best to
revert this and re-open the feature request and do a better implementation in
the future.
Respect `xrandr --primary`

See https://groups.google.com/forum/#!topic/qtile-dev/1kIVgX7bOmE
make it more obvious that title is WM_NAME
group spawn arg, starts the client in that group

it uses net_wm_pid so the client should implement it, but most does

Closes #442
Fix screen mirroring while respecting ordering

Closes #439
widget/wlan.py:

Fix for IOError when wlan device is deactivated (Softswitch)

Closes #438
Fix a test

apparently int objects aren't marshallable, so we have to return a string here.