add callback invokation example

Hi Ole,

this commits shows how to trigger a callback from the adaptor.  Basically, you
set the attribute value from within the adaptor, on the api object, with

  self._api ()._attributes_i_set (key, value, _UP)

where self._api() dereferences a Python weakref to the API object, key is the
attribute name 'state', val is obvious, and '_UP' is an internal flag of the
attribute interface which will force it to not call callbacks on this set (to
avoid infinitive looping) -- any registered application callback is invoked from
the attribute implementation then.

All you need to do, basically, is to start a thread which watches (pulls) the
job state of known jobs, and set the attribute as needed.

Note that if you set the attribute the callback will always be triggered, even
if the value did not change -- up to you if you want that, or if you want to
make sure the callback is only invoked on state *changes*.

And, I hope that this one code line convinces you that the attribute
interface re-implementation was worthwhile, after all ;-)

A.