Move tasks package into controller package

Even though I am not a big fan of too deep nested packages in Java, the
tasks package is really just an extension for the code that resides in
the controller package. This package structure should make it more clear
as it is: the tasks code is controller code.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Fix start and stop detection procedures

Due to some wrong invocations a lot of null pointer exceptions were
thrown. This commit fixes that and once again the detection start and
the detection stop can be performed.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Fix lock and unlock interface procedures

Similiar to the commit before, the appropriate invocations were missing
to lock and unlock the interface. This has to be checked for further
actions as well, but for starting and stoping the detection it works
now.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Add appropriate download snapshot handling

For the detection state the protocol request to download the latest
snapshot and an arbitrary snapshot was missing. I have added that. Now,
the snapshot that triggered a motion can be viewed as well.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>