Import .gitignore
Fix whitespace annoyances

- Remove trailing whitespace.
- Remove two many consecutive empty lines.
Make all headers have guards

Makes all the headers have their corresponding guards, all of them following
the same style.