Role::PPI: Pump characters through the File object.

Saving to the file object prior to storing in the cache,
means we can ask the file object for the bytes version of whatever was
stored there, and use that to generate the same MD5 that was generated
in the ppi_document_for_file method.

( Fixes bug #236 for me )