generic: allow packed fields

Background
========

When you try to decode a struct, the alignment does matter. And results
for unpacking H, B, B, I, Q (in terms of struct module) and HBBIQ will differ.

Change
=====

Since the revision 8e7333f1ce6c95d014a35cda49edee7d9d73a1c6, the
library uses only the first approach. But, obviously, it was a mistake. So the
first step is to allow packed struct, now only for decoding.

Used in taskstats module.

Bug-Url: https://github.com/svinota/pyroute2/issues/23
Bug-Url: https://github.com/svinota/pyroute2/issues/25
netlink: allow custom timeout for responses
taskstats: implement continous monitoring

Two requests are implemented: register and deregister cpu mask.

Bug-Url: https://github.com/svinota/pyroute2/issues/26