Sometimes (e.g. during thunderstorms) pulses are longer than 1 second,
which might confuse the  detection for the end of a normal bit (not EOM).

Provide a maximum pulse length.
Overhaul readpin.c with the following changes:
- limit the pulse length both ways by using the new 'hw.max_len' field
- use correct value for 'count'
- limit the range in which a second may end (either [minlimit..maxlimit]
  or [minlimit*2..maxlimit*2]) to prevent false EOM markers during e.g.
  thunderstorms
- deal with the initial partial second
Improve the spike smoothing (either positive or negative) in case it
happens outside the limits.
Add support for timeouts (mostly all positive or all negative pulses).
Add a second counter.
Merge changes from readpin.c to better detect bits.
Update comments.
Remove superfluous parentheses.
Detect the tail of the EOM marker on startup.
Note that the 2500 ms is approximate.
Do not insist on a minimum minute length when an EOM marker is received
and merge printf()s.
When receiving an EOM marker, add N minutes to the expected time value
where N is the accumulated minute length. This prevents the expected time
getting behind on the real time in case a marker is missed.