Implement ets:take/2

This new ETS BIF returns and deletes objects from tables.
Fix locations of shadowing warnings in ms_transform

A shadowed variable in an ms_transform match expression emits a warning
located at the match expression instead of the variable.
Introduce new option 'raw' in file_info functions

This option allows the caller not to go through the file server for information
about files guaranteed to be local.
Remove untested option 'raw_files' from file module

This undocumented option makes an application:get_env/2 call every time a raw
file is opened.
Fix the line counting in string function

The line counter becomes invalid, when the rules with linewrap are
used. This issue appears, because the parsing FSM does not rollback
the line counter after attempting such rule.
Add unit test for string fun in leex test suite
Fix line counting in token and tokens functions

The line counter becomes invalid, when the rules with linewrap are
used. This issue appears, because the parsing FSM does not rollback
the line counter after attempting such rule.
Unit tests for 'token' and 'tokens' are also added.
compiler: finalize 18.x 'asm' deprecation

'asm' was deprecated in 18315c16, to be removed in 18.x.
Return pointer to value in erts_maps_get()

While at it, implement erts_maps_get_rel() for halfword support.
Support maps in ms_transform
Properly support maps in match_specs
erts: Implement yielding for distributed send of large messages

Use same mechanism as term_to_binary to yield
while encoding large messages for distributed send.
erts: Yield in term_to_binary while copying large binaries

Applies also to distributed send.
erts: Remove unnecessary goto for fun encoding
erts: Yield in term_to_binary when encoding big maps
erts: Optimize some repeated calls to {E,W}STACK_PUSH
erts: Print that we are crashdumping earlier

Change so that we print that the we generating a crash dump
before we actually generate it. So that if a huge crashdump is
being dumped, the user knows that something is going on.
erts: getsockname is not allowed on non-bound sockets

This only produces an error on win32, but should not really be called
on *nix either.
Merge branch 'master' of git-server:otp
erts: Add icount build type for opcode counter

Enables ERTS_OPCODE_COUNTER_SUPPORT.