ipdb: create an abstract transactional class
iproute: docstring update
rtnl: fix u32 filter key case for any src/dst
rtnl: u32 rate policy setup
generic: [regression] fix length update w/o diff
iproute: fix case for empty tc options
ipdb: add template for traffic controlling objects
tests: initial commit of tc tests
generic: ACHTUNG: get_attr() semantics changed

Now `nla.get_attr()` return the first NLA with that name OR None if no
such attrs present. To get all NLA with that name, use `nla.get_attrs()`.

Rationale: usually, there is only one NLA with given name in NLA chain.
generic: get_size() class method

Returns calculated sum size of all fields (w/o NLA)
tests: ingress filters and sfq tests
examples: trace arbitrary command from command line
tests: basic tbf test
tests: basic htb test
ipdb: docstring fix
ipdb: rename attributes

Interface.ip → Interface.nl
Interface._parent → Interface.ipdb
iproute: introduce filter actions

rename `action` → `command`, since `action` keyword required for filters etc.
iproute: get qdiscs for particular interface
netlink: attach marshalling to the NetlinkSocket

This makes it possible to use iproute2 w/o threading and complex stuff, and simplifies
integration with other projects. The simplest example::

	from pyroute2 import IPRSocket
	ip = IPRSocket()
	while True:
		print(ip.get())

The NetlinkSocket class behaves like any ordinary socket, but provides also methods
`.get()` and (planned) `.put()`. The IPRSocket class also provides auto-binding
(this functionality probably will be moved to NetlinkClass also).

NetlinkSocket objects can be used in poll/select cycles, as any other socket objects.
netlink: split init and bind calls

Make it more usable for general cases.