Officially support building assembler files

erlc is wired to treat *.S files as assembler and build them as
compile:file(File, [from_asm]), but this is not documented. There's also
a documented compile:file/2 option 'asm' (mapping to 'from_asm'), but
the wording discourages its use. This has been in place and in use for a
long time. Therefore, it should be documented officially.

To fix that, make the following changes:
 * officially document *.S handling
 * re-word 'asm' documentation
 * document 'from_asm' option
 * adapt test suite to test 'asm'

While at it, fix a minor typo in the test suite.
Officially support building core files

erlc is wired to treat *.core files as core and build them as
compile:file(File, [from_core]), but this is not documented. There's
also an udocumented compile:file/2 option 'from_core'. Despite that,
this has been in place and in use for a long time. Therefore, this
should be implemented completely and documented officially.

To fix that, make the following changes:
 * implement 'core' option mapping to 'from_core' similar to 'asm'
 * document erlc handling of *.core files
 * document 'from_core'
 * adapt test suite to test 'core'