Handle blobs with nulls.

Some areas where we handle arbitrary blobs (function arguments and
echo data) were incorrectly stopping at the first null byte.  Instead,
when we parse out the arguments to a packet, handle the last one as
a special case if it can contain null bytes (return up to the end
of the packet).

Change-Id: I45178347cdb058e34329c6601f5e841da0d3b40b