Fixes #4537: use a cache for read promise templates

Nothing really fancy: the main idea is to change Cf3PromisesFileTemplateCopyInfo to have the template content as a string in place of a path, and to add a bulk-read method based on technique ids elsewhere. As soon as the read and use part are decoupled, it's easy to read things at only one point (see the use in Rudder). 

Note: a lots of changes are due to indent modification, the actual changes are more clear is compared with ?w=1