Fixed bug with computing max and min wave samples.
Changed fsk.cpp code to be more restrictive about what it accepts as a "half frequency", this looks like it might fix the issues we have with gen3 running at 1220 baud.
Now checking checksum and crlf for validity.
 I collected the instruments of digital signal processing around me, that I might infuse a spark of being into the lifeless thing that lay at my feet.

I tweaked the hell out of the digital signal processing code to get gen3
to work pretty well on my nexus5. gen2 still works great!