Tidy up all directory creation into one block
Add missing comma
Use fully-qualified paths
Add some OS version data and puppet module dependencies
Stop hard-coding various parameters and use site-wide default params