Make all subtask properties an std::optional
Before, an empty string was ambiguous: A literal empty string or
indicating an absent property. Such default values are still returned
from getters to keep things simple, if the user does not care for the
actual reason. Now, however, the Has...() methods can be used if it
makes a difference or simply to be more expressive.
Also, a new bool property "Dynamic" was introduced to segmentation tasks.
If present, it will basically auto-answer the static/dynamic dialog for
new segmentations of dynamic images.