Repository sanitation for branch 2.4

Dear Julien,

Here are my sanitation fixes for the Class repo.

* Currently the code contains a mixture of LF and CRLF line endings, so I added a `.gitattributes` file to normalize them to LF in the Git index.  Future revisions to the files will be included into the index in normalized forms.  Contributors and users can still determine what EOL character they'd like to use *in their working trees* through Git local/global configuration options (see the man page gitattributes(5), especially the sections concerning `core.autocrlf` and `core.eol`.

* Some text source files have incorrect executable permission, which is now fixed.

* The explanatory output files under `output/` had been interned into the index since before they were excluded by `.gitignore`.  Therefore, subsequent writes to such same files (possibly due to the user tweaking the `explanatory.ini` file and run `class` again) will show up as revisions, rendering the exclusion useless.  I removed them from the index (`git rm --cache`) and created a `.gitignore` file in the `output/` directory, so that the directory itself can be re-created on checkout (with nothing but its `.gitignore` file).  For this to work, the main `.gitignore` file is revised accordingly.

* Small tweaks to the `.gitignore` file and default `Makefile`.

Hope they'd be useful and not cause more troubles ;)

Best wishes,
Cong.