Add a feature 'esi_remove_bom' which will make ESI ignore and remove
UTF-8 BOM's at the start of an ESI-object.

Notice that the removal only happens if the file is actually ESI
processed on delivery, so to get BOM removal for non-XML files,
you may have to disable the XML test and insert a dummy ESI directive
such as <esi:remove>BOMs Be Gone!<esi:remove/> or similar.

Fixes   #1355
Fix prototype for user defined subroutines.

Fixes #1357