PiLink::receive() was only handling one command before returning. This meant the buffer was not completely flushed and can lead to backlog if delays are incurred. (e.g. Issue #33)