How can I add a header and footer field to all drupal generated blocks? 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)
You can use block.tpl.php 


  Default theme implementation to display a block


And add html in the same template file.