Check buffer lengths before reading memory

The lib6lowpan code was assuming it had a well formed incoming packet.
It returned errors if it got unexpected bits, but never if it didn't get
enough bits, even though the valid length of the buffer was passed to
the unpack function. This would occasionally cause errors much later
because invalid packets were being processed and the length was invalid.

This commit adds length checking throughout the entire unpack stack to
make sure that the incoming packet is long enough for each part being
unpacked.
printf for blip
Updated lib6lowpan tests

The tests now work with the changed lib6lowpan code.
Fixed warnings

I fixed a couple little nits that caused compiler warnings.