observables/sampler: throw exception for zero sampling interval

We trap this requirement here rather than in every Lua script calling
on_sample.
lua: drop method connect() everywhere

The module have always been connected by default and a second call to
connect() would have resulted in an error "already connected". Instead,
the slots are connected directly in the body of the
constructors/writers. As a by-product, this simplifies the code.

Since I was not 100% sure that there were no side effects of calling
defining disconnect() before calling connect(), I moved the respective
code to the point where connect() was called before.
lua: replace disconnect() by a generic method

A generic method to disconnect a sequence of signal connections is
provided by utility.signal.disconnect. This avoids repeating code in the
module constructors.