Use temporary directory for serving root in development.

Also, change default production serving root to 'resources/public'.
Add manifest.json to .gitignore.
Add validation to settings.
Test validation.
Make options passed into asset-pipeline optional too.