EOL Normalization

One out of the three replay files uses CRLF line endings while
the other two use LF line endings. Almost all C files use CRLF endings
except mvhist.c and common.h which use both CRLF and LF at the same time.

Most editors nowadays can display file contents correctly regardless
of the line endings in the file but i do not like this inconsistency. Thus, all files are modified
so that they are stored in the repo with LF line endings. Also while a .gitattributes file is introduced
to instruct git to normalize all files except image files and VS files.

So, when a file is commited to the repo, git will automatically convert CRLF to LF and store the file
that way. When a user clones a repo or checks out a branch, git will use the appropriate line ending
as indicated by the core.eol variable which defaults to native.

This ensures consistent behavior and works in every OS without forcing users to modify their setups. The only problem is presented in old Windows builds where the core.eol variable was incorrectly set but the bug should be fixed for some time now.