allow specifying empty defaults for command tokens

currently to use and optional command token in a check one has to put on empty string like
:::some.attribute| ::: for workaround, this patch allows to just use :::some.attribute|:::
without getting "Unmatched command tokens"
the presence of "|" means that there is a default and default as an empty string is valid too