In particular, if we're working with a leex (.xrl) or yecc (.yrl) source
file, erlc would otherwise generate the corresponding .erl file in the
current directory (often the project root), which is generally not what
we want.
Unconditionally writing erlc output to a temporary directory also
matches Flycheck's behavior.
* Add erlc lint for Erlang (#248)
* Ignore certain errors in Erlang .hrl files (#248)
A .hrl file does not need to have a -module definition. Additionally, it
is common to have unused elements in such a file, as the entities will
be used in a file including the header.
* Address change requests to Erlang linter