Allow RSP compiler receive a FilenameMapper function to map output files to directories other than the default one used by the compiler

This eases project layout when merging client and server code and also allows finer control over where files are output by the compiler.