Clean up compiler specs

This is a big compiler specs cleanup. I attempted to:

  * Improve both code and wording of the testscases and make it
    consistent.

  * Add missing testcases, remove useless ones.

  * Reorder the spec a bit more sensibly.

  * Fix all issues I found.

As I didn't go exactly top-to-bottom and it doesn't really make much
sense to separate the changes, I squashed everything into one big
commit.
Ignore |Y2R_MODULE_PATH| and |Y2R_INCLUDE_PATH| when running specs

I don't remember the last time I used these environment variables when
running specs => respecting them is most likely useless.