I have a number of blocks that are created by drupal core, modules and views. In views blocks I can add a header or footer using the views UI, but I would also like to do this for other blocks not created by views. e.g. core search block. I would like to add a user configurable header and footer field to every block generated by drupal. This way a user can add arbitrary content above or below block content using the block UI. Doing this for all views blocks would be great as well as I would not have to give the client permissions and train them how to use the views UI to make changes.
EDIT:
Each block needs to have their fields configurable in the UI. I can't have laypersons digging into the tpl files.
Switching to an entity based block replacement such as the BEAN module is not an option. I need to keep the core block architecture and it also must be able to add headers and footers to core and module generated blocks (which are not beans, boxes etc)