Improved ignore_errors silently option

Hi

This is the improved version of my first attempt to make a "ignore_errors: silently" option (#1 behing here: https://github.com/ansible/ansible/pull/5439)

Test wise, make tests is OK. Here's my test playbook for the feature. 
```
- hosts: all
  tasks:
  - command: /bin/false
    ignore_errors: silently
  - command: "{{ item }}"
    with_items:
    - echo one; /bin/false
    - echo two; /bin/false
    ignore_errors: silently

  - service: name=dbgqskjbh state=stopped enabled=no
    ignore_errors: silently
  - service: name={{item}} state=started
    with_items:
    - jhvbsqdj
    - lkjfqsbs
    - sshd
    - ssh
    ignore_errors: silently
  - name: serviceS 3 err 1 ok with_items plus name
    service: name={{item}} state=started
    with_items:
    - jhvbsqdj
    - lkjfqsbs
    - sshd
    - ssh
    ignore_errors: silently
```

I hope this is ok regarding non-merge commit, rebase etc. I forked in github, cloned localy, created a feature branch... but I don't fully understand what I'm doing with git+hub! I'ld be glad for advice on the topic if any required :-)

Cheers,
Rémy