Compare the length of each received USB message to the length byte it
contains, and print a warning messaeg if the lengths do not match.
Don't call strncpy() with overlapping arguments when called as
ec2_connect(obj, obj->port) from c2_erase_flash().  Found by valgrind.
In c2_read_flash(), check that we get the expected 0x0d terminator.
Attempts to read a protected flash now fail rather than silently
returning zeroes.