client: Changing ifcheck to be more robust

- machine friendly formatted output
- ORed error return codes (first not matching hit returns a code)
- make use of refactored structure, comply to if* functions