Massive update for best practices.
Updated .gitignore