Do better error checking in read_boot_u16(), and simplify it.

Why am I even doing this stupid bitshifting?

Signed-off-by: Peter Jones <pjones@redhat.com>