Add .gitignore
Add -Wall -Werror and update code accordingly