Integrated monitoring into `chkrec_keeper_mon:update/2`.

Now if the `chkrec_keeper` process changes for a particular source,
then the new process is monitored. The normal occurrence for this
would be the transition `down ~~> <pid>` after the backup keeper is
restarted.

However, the case for when a backup keeper is currently running is
also handled by demonitoring that process, and then terminating it
with a "normal" reason, i.e. `{shutdown, for_update}`. Doing so is
a more expensive operation because the entire `dict` is traversed
through to find the key corresponding to a certain value.
No need for `chkrec_keeper_mon:watch/2` anymore.

The operation this function performs has been combined into
`chkrec_keeper_mon:update/2` already.
Made backup keeper report to monitor during initialization.

Calls to `chkrec_keeper_mon:update/2` in `chkrec_keeper:init/1` with
the pid for the spawn process, i.e. `erlang:self()`.
Updated documentation of `chkrec_keeper` module.
Renamed "[rR]egistry" to "[sS]ources".

Now both `dict`s are named for what the keys represent.
Updated documentation of `chkrec_keeper_mon` module.
Updated even more documentation.

In the following modules:
  * `chkrec_keeper_sup`,
  * `chkrec_sup`, and
  * `chkrec_app`

Also added functions specs where there were none.
Only mark process as `down` if will actually restart.

Otherwise just remove the entry from the sources registry.
Fixed a couple issues in the `chkrec_keeper_mon` module.

No need to call `chkrec_keeper_mon:update/2` within
`chkrec_keeper_mon:new/1` since `chkrec_keeper:init/1` will do so.
This would actually cause a second restart to occur.

Was storing the pid itself, not {value, <pid>} in the sources registry,
so the case to demonitor and terminate the old process was not being
executed.