### 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
This behaviour was added in ansible-core 2.14.
    type: str
    choices: [ EOF, '*regex*' ]
    default: EOF
  insertbefore:
    description:
    - If specified and no begin/ending O(marker) lines are found, the block will be inserted before the last match of specified regular expression.
    - A special value is available; V(BOF) for inserting the block at the beginning of the file.
    - If specified regular expression has no matches, the block will be inserted at the end of the file.
    - The presence of the multiline flag (?m) in the regular expression controls whether the match is done line by line or with multiple lines.
      This behaviour was added in ansible-core 2.14.
    type: str
    choices: [ BOF, '*regex*' ]
  create:
    description:
    - Create a new file if it does not exist.
    type: bool
    default: no
  backup:
    description:
    - Create a backup file including the timestamp information so you can
      get the original file back if you somehow clobbered it incorrectly.
    type: bool
    default: no
  marker_begin:
    description:
    - This will be inserted at C({mark}) in the opening ansible block O(marker).
    type: str
    default: BEGIN
    version_added: '2.5'