Add readpin.c to the 'lint' target.
Do not display / and \ when the pulse value changes, this is obvious
from the surrounding pulses.
Instead of waiting 1e6/hw.freq microseconds, sleep 1e9/hw.freq nanoseconds
and adjust for the time required for obtaining and analysing a pulse.
The idea is to bring the actual number of samples closer to hw.freq but
it makes little difference in practice on my Raspberry Pi (700 MHz,
clang -O, FreeBSD 10.0-ALPHA4).

nanosleep() can return the amount of unslept time in case it got
interrupted, usleep() can not.
Measure and show in microseconds the avarage per-pulse sleep error.

Combine some printf() statements while here, effectively only showing
bit value statistics at the end of a complete second.