parse() fix: Don't return undefined value.

When buffer is filled with 0xFF, parse() should return GARBAGE rather than an undefined value.
Prevent buffer overflow

If the serial is configured incorrectly, it's possible for more bytes to be available than the buffer holds. This prevents the overflow.
Merge pull request #1 from joewalnes/master

A few robustness improvements