pump puppet merge for rebase

We have completed most of the setup and at this stage we want to merge to rebase and then work of it. Please merge these changes with master. The build works but some port and security setup will be reconfigured after the merge. Paul will fork the master rep after the merge and then work of that copy.