White space tweaks.
Actually use the return value of set_mode() to set the exit value.
Update a comment and re-order the fields of struct hardware.

No functional changes.
Add a new framework to read configuration files, and provide a corresponding configuration file.

config.txt is the same as hardware.txt except for:
- values for months in which leap seconds (UTC) and time offset changes can
  occur have been added. This will be used to fill in the existing TODOs
  in decode_time.c
- the margin for bit value detection has been increased from 3 to 4

Improvements are:
- allow for obsoleted values to be deleted from the configuration file
- check for missing values
- better readability with key/value format
- any order of key/value pairs is allowed
Read the new configuration file in dcf77pi and readpin.
Use the values from the new configuration file instead of the old one in input.c
Oops, make readpin linkable again.
De-orbit the old configuration file.
Add a function to initialize the month values from the configuration file.

This function also parses the leapsecmonths value into an array of integers.

Call it in dcf77pi.
When the time offset is about to change, check the current month against summermonth and wintermonth.
When the leap second is about to happen, check the current month against the values in leapsecmonths.
Update README.md for new configuration file, fix a typo, and improve markdown.
In is_leapsecmonth(), check for a month values below 1 and add 12 to them.

The configuration file has leap second months in UTC, so typically June
and December. However, in local time, the month value is already one higher
when a leap second is announced (23:mm UTC) or inserted (00:00 UTC).

This means that we have to subtract one from the current local month value
to get the UTC month.
Fix off-by-one error and simplify when determining num_leapsecmonths.
Reset year to 0 when entering a new century in add_day() to prevent spurious "Year value jump" messages.