core: Introduce task_timers_entry

This one will hold all info about timers in the core_entry.
Since timers are always per-task, this one is on task core
entry.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
core: Move itimers on core

This allows to have one image less per-task, which in turn
reduces live migration time a little bit.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
core: Move posix timers on core entry

This as well gives us minus one image per-task and
allocates more space on core task entry.

One thing to note -- the amount of posix timers is
not easily accessible at the core entry allocation
time, so the respective array is allocated on demand.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
posix-timers: Helper for freeing proc parsed data

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
posix-timers: Clean restore code flow

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
timers: Reshuffle new and legacy restoration code

Make explicit checks and helpers for legacy images.
This should facilitate its removal some day in the
future.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
rlimits: Move entries from top-core into task-core

This appeared after latest 1.2, so it's still possible
to do this move.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
rlimits: Reshuffle new and legacy restoration code

Do the same as was done with timers.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>