erts: Fix is_map/1 spec
erts: Document map guard functions

* erlang:is_map/1
* erlang:map_size/1
Ensure generated modules are properly included in the Emakefile
Add support for testing the LLVM backend too
erts: Reduce runtime of test port_SUITE:close_deaf_port

as it fails with timeout sometimes.
doc: Document Maps datatype in reference manual
erts: Fix bug of scheduling a suspended process

This is a race that can cause RUNNING (instead of RUNNING_SYS)
set on a SUSPENDED process. The effect of this race happening is probably
quite benign.

The bug was discovered by process_SUITE:processes_gc_trap on debug VM
crashing on last assert in schedule():

/* Never run a suspended process */
ASSERT(!(ERTS_PSFLG_SUSPENDED & erts_smp_atomic32_read_nob(&p->state)));
erts: Fix bug in test case port_SUITE:otp_5119
fix dirty NIF invalid memory read

Dirty NIF support used an Export structure to facilitate calls to dirty
NIFs and finalizers, but Export isn't large enough to hold all necessary
data. This was causing an invalid memory read in beam_emu.c past the end of
the Export object. Add a local extended Export struct to erl_nif.c that can
hold all the necessary data.
prevent NIF purge during dirty NIF execution

Reference-count the NIF before and after invoking a NIF on dirty schedulers
to prevent having the NIF purged during the call.
Remove syntax_tools and runtime_tools from app file

The former is used by the dictionary compiler, the latter by some
unfinished code in diameter_dbg. None of the corresponding modules are
included in the app file since they typically aren't needed/wanted on a
target system.
Check for required LLVM version or issue error

This checks that a required LLVM version (i.e. 3.4 or greater) appears in $PATH
when 'to_llvm' flag is used; in case of failure, abort compilation with an
error.
Fix counting of arguments of closures

Do not rely on MFA name for the arity of functions, since closures have
an extra argument. Instead, just use the length of the arguments list.
Fix frame size adjustment of stack descriptors

In case of function calls with arguments that are passed to the stack,
the frame size of corresponding stack descriptors needs to be reduced by
the number of stack arguments. This commit fixes a bug in this
adjustment which was caused by an incorrect check.
inets: Handle all response codes in httpd_util:message/3
Replace 'otp_build patch_app' with 'otp_patch_apply'
Merge branch 'rickard/otp_patch_apply'

* rickard/otp_patch_apply:
  Replace 'otp_build patch_app' with 'otp_patch_apply'
Merge branch 'vinoski/dirty-nif-purge'

* vinoski/dirty-nif-purge:
  prevent NIF purge during dirty NIF execution
  fix dirty NIF invalid memory read
Merge branch 'kostis/hipe-test-fix'

* kostis/hipe-test-fix:
  Add support for testing the LLVM backend too
  Ensure generated modules are properly included in the Emakefile
Merge branch 'sverk/test-cuddle'

* sverk/test-cuddle:
  erts: Fix bug in test case port_SUITE:otp_5119
  erts: Reduce runtime of test port_SUITE:close_deaf_port