erts: Move compiler flags generation

Move the call to utils/make_compiler_flags to after _create_dirs
to make sure that the dirs are created before we try to generate files
in there. This seems to work with parallel make as well, but I cannot
find any documentation that says that it should or should not work.
erts: Fix resolve of generated files for depend
Handle nonempty list types in docgen_edoc_xml_cb
Handle map types in docgen_edoc_xml_cb
Substitude uses of lists:reverse(L1) ++ L2 with lists:reverse(L1, L2)
Introduce and use a hipe_icode:icode() type
Add specs for exported functions (to shut off a warning) and types in some record fields
Cleanup and make sure warnings are treated as errors
erts: Fix leak in nif_SUITE:resource_takeover (again)
erts: Suppress false leak in hipe_thread_signal_init
match erlang keywords more carefully

Use word boundaries in some regex matching to avoid recognizing words that
begin with keywords as keywords themselves, for example avoid recognizing a
function named catcher as the catch keyword. Add a regression test for this
problem.
Fix comment that differs from code

The comment in the code state that the tree is traversed to the left,
when in fact it is traversed to the right.
Add flag to abort test run if suites fail to compile

OTP-11769
Do not emit blatantly illformed apply expressions in core_inline

Code such as apply 'f'/1 () should not be emitted by the Core Erlang inliner.

Commit 1b8ad68361db59477013bf96e485d5293723ff42 added a test case
and correction in v3_core.
Add more info to file open failure
erl_interface: refactor ei_decode_encode_test.c

to prepare for lists, tuples and ... maps!
erl_interface: test decode_encode of tuples and lists
erl_interface: Add ei encode/decode for maps
erl_interface: test decode/encode of maps
Properly detect reused boolean values in beam_bool

The following code could crash the compiler:

	f(X = true) when X or true or X -> ok.

Reported-by: Ulf Norell