redesign: source file `digest` method

This method digests a source file, meaning it compiles its content,
saves it to the output path, and updates/saves its fingerprint in
the digests file.
Merge pull request #30 from redding/kr-re-sourcefiledigest

redesign: source file `digest` method