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
First attempt at adding a skel for -spec's

New skel adds a -spec for the function after point.
configure.in: fix test == bashism
eldap: Add support for modifying passwords

This implements the LDAP Password Modify Extended Operation (RFC 3062)
with two new functions modify_password/3 and modify_password/4. The
former is for directly setting passwords, and the latter is for users to
change their own passwords.

Since all three parameters are optional, I've opted to support this with
the empty string rather than a property list. This seems consistent with
other functions in the module (i.e. modify_dn/5).
ssh: Add ptty_alloc/[2,3]
ssh: Add pty_alloc request to ssh:shell/[1,2,3]
Fix a typo in the mnesia documentation
ssh: Add basic ptty_alloc tests
erts: Fix bug in beam_ranges

Symptom: VM on OSX (darwin11.4.2) with +Meamin running sasl tests,
crashing when init:reboot() does erlang:purge_module(installer).

Problem: Off-by-one bug in beam_ranges:find_range, returning the wrong
range if the 'end' of one module is the 'start' of the next. This is only
possible if using sys_alloc (+Meamin) as our own allocators always put
block headers between allocated payload data.
Merge branch 'ia/ssh/pty-request/OTP-11542' into maint

* ia/ssh/pty-request/OTP-11542:
  ssh: Add basic ptty_alloc tests
  ssh: Add pty_alloc request to ssh:shell/[1,2,3]
  ssh: Add ptty_alloc/[2,3]
Merge branch 'maint'
Merge branch 's1n4/mnesia_doc_typo' into maint

OTP-12278

* s1n4/mnesia_doc_typo:
  Fix a typo in the mnesia documentation
Merge branch 'maint'
Merge branch 'tuncer/configure.in-bashism' into maint

OTP-12280

* tuncer/configure.in-bashism:
  configure.in: fix test == bashism
Merge branch 'maint'
fix small typo in processes.xml

kilo_byte() -> is kilo_byte/0 not kilo_byte/1