Convert all line endings to LF

Previously we had a mix of CLRF and LF style endings because different people started working on files using different operating systems. This PR converts all line endings to LF, and adds a `.gitattributes` file to make sure all future files are committed using LF style endings.