BF: destructor called properly by avoiding self-reference

Clearing a running processManager in v0.3.0 and lower did not call the
destructor. This is because the timer callback included a reference to
the processManager object itself, and since that included a reference
to the timer object (Java), cleanup was blocked (see link below).

In v0.4.0, this reference is avoided by only passing necessary data to
the timer object via its 'UserData' field. To avoid self-referencing,
a second object (processState) is now used for triggering notifications.

http://www.mathworks.fr/matlabcentral/answers/39858-clearing-handle-subclasses-with-timer-objects
update
DOC: for 0.4.0 update