Supply target folders to shell scripts and ensure that returned path mappings are correct

The main motivation for this change is to provide shell scripts with a means to obtain a target folder for writing to.

In addition source file plugins will now always return a complete Seq[PathMapping] structure and not just those paths that have been operated on incrementally. The new sbt 0.13.2 functionality of .previous has be utilised in this.

The marshalling of PathMapping values from shell scripts is also now done properly.

Upgraded to sbt 0.13.2-M2 so that the new .previous method can be used.

Some of the setting declaration was also simplified.