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

* erlang:is_map/1
* erlang:map_size/1
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
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
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
Generate runtime_dependencies in app file

To avoid having to specify applications more than once.
Add app suite test for app file runtime_dependencies

In particular, that modules listed in the 'modules' tuple only call
modules in other applications listed in the 'runtime_dependencies'
tuple.
Simplify xref tests in app suite

By examining which modules *use* runtime and compiler modules instead of
which modules compiler modules call. Note that the semantics are changed
somewhat: we will now fail if diameter modules are called from an
application which diameter.app lists as a start dependency, which wasn't
the case previously.
Merge branch 'sverk/suspend-running-race'

* sverk/suspend-running-race:
  erts: Fix bug of scheduling a suspended process
ssl: Add possibility to specify ssl options when calling ssl:ssl_accept
Merge branch 'ia/ssl/accept-with-options'

* ia/ssl/accept-with-options:
  ssl: Add possibility to specify ssl options when calling ssl:ssl_accept
Merge branch 'ia/inets/dialyzer'

* ia/inets/dialyzer:
  inets: Handle all response codes in httpd_util:message/3
doc: Clearify language of user-defined attributes