Fix puppet linting and intent

Use 'file' over 'present' to be more explicit.
Ensure directories are directories
Create app/shared/config if managing database.yml
Correct permissions for app directories
Use consistent systax for resource names/titles