Fixed checking for SuSEfirewall2 package depending on the stage/mode

- In inst-sys, the package needs to be selected
- On a running system Yast can install the package if user approves that
- Otherwise it just checks whether the package is installed
- Includes test case
- bnc#887406
- build passes
If the goal of ```@needed_packages_installed``` is to cache the result, is quite counterintuitive (if not wrong) that it's only checked for nil in the Stage.initial else.