One starting sanity fix-up

When Subway starts, we want to make sure the initial reload occurs
*after* the listening thread starts listening; this way, we ensure
that no reload commands get missed.  We do this by doing the initial
load after 2 seconds, which should be more than enough time for
listen() to get started.
We no longer need the listen_thread instance variable.
Add an explicit return if zrange() raises an exception.
YAGNI-fy the @register() decorator.
Minor docstring fix-up.
Must import random for reload().
Remove an unneeded 'if'

It turns out that ''.split(':') == [''], so the "if arglist"
that was intended to protect from an empty arglist is unneded.
We have to *call* the sections() method.
Add test code for subway.