Refined implementation using Timer1 Input Capture.  Refactor to allow for streaming or buffered decode

Next steps must include:
 * Better documentation
 * More testing
 * Example decode

Could include:
 * Pull buffered decoder out and make it an example instead.
 * Optional noise cancel
 * Adjustable prescaler?
 * Example stream decoder.