netlink: parse messages twice for mirror instead of copying

Since copy.deepcopy() on Python 2.6 fails on nlmsg NLA class fabrics, it is
simpler to parse message twice instead of trying to cope with deepcopy()
netlink: limit message queue
ipdb: do not fail on if_master lookup if there is no master
ipdb: if_master lookup for ancient platforms
tests: remove internal ipdb locks references
tests: wait until link is removed in utils
ipdb: direct calls for `@update` decorated methods
ipdb: countdown semaphors for addr/port updates
ipdb: manual master update for ancient platforms
ipdb: _lookup_master() cleanup
ipdb: _addr_event removed
ipdb: [regression fixed] do not lookup master in cache

This way it will always present, even fot detached interfaces, since the
cache is not updated yet.
ipdb: cleanup detached interfaces
ipdb: use absolute values to detect LinkedSet status

Do not count LinkedSet updates, but check the absolute threshold value.
This way LinkedSet can ignore multiple add/delete call of the same item,
notifying watchers only when threshold is reached.
ipdb: use snapshot instead of self to calculate difference
ipdb: simplify LinkedSet events

Use reference set() to check if the target is reached.
tests: test_plugins module
tests: grep utility
tests: test route add
netlink: fix error parsing