Adding stricter warnings to the project. Fixing all warnings. Updating gitignore file. Also Fixes #45