Simplify conditions expressions.

`ifupdown` is in defaults/main.yml and thus always defined.
Simplify and short-circuit test for network-manager.

- Check `ifupdown_ignore_networkmanager` only once in tasks/main.
  As a side-effect, this makes "Check if Network Manager is installed"
  to be skipped early.
- `ifupdown_nmstatus` is always defined if the "Enable Network Manager
  support if installed" task is run (because it was set just before)
Change how static interface configuration is tested

- Use `failed_when: False` to be able to replace `shell` by `command`
  (and to use an Ansible mechanism)
- `ifupdown_register_static_config` is always defined (because it was
  set just before)
- Use `grep -q` (exits immediately with zero status if any match is
  found) and test return-code.
Test for static interface definition first.

This both saves creating a config which is then to be revered and time.
This also avoids problems if reverting the divert fails for any reason.
Fix last commit: ensure `ifupdown_static_config` exists.
Simplify some conditional expressions.

In `xxx is undefined or (xxx is defined and ...)` the test `is defined`
is superfluous, because the opposite (is undefined) was tested just
before.