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