Restructure to make it easier to extend in the future

Reviewed by:	will
Suggested by:	ngie
Fix dependency on newvers.sh

Noticed by:	marck
MFC after:	1 week
Fix the watchdog timeout calculation to prevent wrap.  The RPi hardware
can't do a timeout bigger than 15 seconds.  The code wasn't checking for
this and because bitmasking was involved the requested timeout was
basically adjusted modulo-16.  That led to things like a 128 second
timeout actually being a 9 second timeout, which accidentally worked fine
until watchdogd was changed to only pet the dog once every 10 seconds.