### Summary

When adding content to a file using `blockinfile`, it is hard to prepend/append a blank line to the block.

e.g. this would be the result when using EOF:
````ini
# network settings
foo = bar
baz = qux
# BEGIN ANSIBLE MANAGED BLOCK
something = 123
# END ANSIBLE MANAGED BLOCK
````

That's hard to use. This would be better (and conventional):
````ini
# network settings
foo = bar
baz = qux

# BEGIN ANSIBLE MANAGED BLOCK
something = 123
# END ANSIBLE MANAGED BLOCK
````

That blank space is so important. Without it the file becomes unreadable, especially when there are multiple blocks, or the blocks are interspersed throughout the file (not BOF or EOF).

There are many related questions on SO about this. For example, [here's one with 12k views](https://stackoverflow.com/q/64687350/9971404).

The only way to do this idempotently is to use two tasks, one for the blank line and one for the block. And it's nasty.

Please consider adding a new option to `blockinfile` to allow prepending/appending blank lines?

### Issue Type

Feature Idea

### Component Name

blockinfile

### Additional Information

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)

```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
'''
EXAMPLES = r'''
# Before Ansible 2.3, option 'dest' or 'name' was used instead of 'path'
- name: Insert/Update "Match User" configuration block in /etc/ssh/sshd_config
  ansible.builtin.blockinfile:
    path: /etc/ssh/sshd_config
    block: |
      Match User ansible-agent
      PasswordAuthentication no
- name: Insert/Update eth0 configuration stanza in /etc/network/interfaces
        (it might be better to copy files into /etc/network/interfaces.d/)
  ansible.builtin.blockinfile:
    path: /etc/network/interfaces
    block: |
      iface eth0 inet static
          address 192.0.2.23
          netmask 255.255.255.0
- name: Insert/Update configuration using a local file and validate it
  ansible.builtin.blockinfile:
    block: "{{ lookup('ansible.builtin.file', './local/sshd_config') }}"
    path: /etc/ssh/sshd_config
    backup: yes
    validate: /usr/sbin/sshd -T -f %s
- name: Insert/Update HTML surrounded by custom markers after <body> line
  ansible.builtin.blockinfile:
    path: /var/www/html/index.html
    marker: "<!-- {mark} ANSIBLE MANAGED BLOCK -->"
    insertafter: "<body>"
    block: |
      <h1>Welcome to {{ ansible_hostname }}</h1>