correct handling of floating point expressions in if/unless statements

So far if/unless cannot deal with floating point expressions that are not integer. There is no reason to not regard `1.3` has a `True` value. This commit fixes that: All floating point expression not evaluating to zero are handled as True. An appropriate test case is added as well.

The maintainer in `package.xml` shouldn't contain double quotes - changed.