Fix filename replacement on Windows.

The context filenames dictionary keys are os-generated paths to the files, which on windows, uses \ instead of /, but the filename replacer was looking only for / if the filename began with /. The result was that filename replacements beginning with / would fail when pelican was run on Windows.

Attached pull request resolves by breaking apart filename and reassembling it using os.path.join() before looking for it among the context filename keys.