Added two new input files to test against. Tried running the algorithm
on 15kHz 0xDE and it worked for all bytes. Tried the algorithm on the
15kHz 0xDEADBEEF and it worked for the all but the last three bits on
the second and third message. At these points the percent error from the
edge gave a false reading. I will attempt to fix this issue by:
    1.) Marking the sample where the last edge occurs, call it lastEdge.
    2.) Comparing the instantanious curState with the
        averagePeriodState.
    3.) If they do not match then I will adjust the starting sample for
        the next reading by the difference betweeen the curState and the
        lastEdge.
This should help to eliminate the percent error accumulation.