Refactor .conf SPT threshold switchover syntax

This commit replaces the switch_register_threshold and switch_data_threshold
with a unified syntax inspired by Cisco and Xorp PIM-SM implementations.

    spt_threshold [rate <KBPS> | packets <NUM> | infinity] [interval <SEC>]

The packets and infinity arguments are new, and the rate value is no
longer in bps, but in kbps.  Also, the default switchover is now based
on packets and triggers a switch to the SPT after receiving the first
encapsulated multicast frame on either the RP or the last-hop router.
The default interval has been increased from 20 to 100 sec, also like
Xorp does.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
Fix default source preference (unicast distance), should be 101.

The default unicast distance applied to all interfaces, due to pimd
currently not having access to unicast distance of routing protocols,
should be in the range 1-255.  I belive the previous default (1024)
was a copy-paste bug with default metric, or similar accident before
established practises was set.

Anyhow, we should really work on implementing an interface to Quagga's
zebra daemon, or similar routing suites like BIRD, to overall improve
the way pimd acquires the active unicast routing table.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
README: Update with latest changes.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
main.c: Whitespace cleanup.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
README: Clarify -d debugging and update Monitoring section.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>