Handle screendumps for all framebuffer sizes

readx() treats a partial read as an error but also consumes the data,
Now exactly the amount of data needed for the screendump is requested.

This bug showed up for framebuffers that were not a multiple of 640
bytes.

Also fix a compiler warning related to handing pipe() failure.

(cherry picked from commit 85373f42803f86e3295afd5031a0e42e0b3bef33)

Change-Id: I013db398fd2e9ec90647ed63cecd10fd8d7d8449
Force alignment of data buffer used to process netlink messages

This avoids the overhead of accessing unaligned data while
processing netlink messages.

Change-Id: Ie7ed1c694d368dcb7098372e701ede5268805cf2
Merge "Handle screendumps for all framebuffer sizes" into dev-mips-jb-mr2