Improved gitignore to exclude OS generated files