Wrap eunit macros into begin ... end blocks

This makes typos such as missing commas between two assertions
(e.g. ?assert(true) ?assert(true)) syntax errors instead of silently
compiling and failing with a badfun error at runtime.

This won't break any existing code as parenthesed expressions and blocks
have the same precedence and none of these macros can be used as patterns.
Fix some errors in the inets documentation
Fix compilation on Solaris

Trying to compile R16B01 on SmartOS resulted in following errors:

    gcc -c -o ../priv/obj/i386-pc-solaris2.11/ferrule.o -Werror=return-type  -g -O2 -I/root/otp_src_R16B01/erts/i386-pc-solaris2.11  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fno-tree-copyrename  -DHAVE_CONFIG_H  ferrule.c
    ferrule.c:53:1: error: return type defaults to 'int' [-Werror=return-type]
    ...
    gcc -c -o ../priv/obj/i386-pc-solaris2.11/mod_syslog.o -Werror=return-type  -g -O2 -I/root/otp_src_R16B01/erts/i386-pc-solaris2.11  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fno-tree-copyrename  -DHAVE_CONFIG_H  mod_syslog.c
    mod_syslog.c:50:1: error: return type defaults to 'int' [-Werror=return-type]
    mod_syslog.c: In function 'make_exit':
    mod_syslog.c:136:5: warning: incompatible implicit declaration of built-in function 'exit' [enabled by default]
    mod_syslog.c: In function 'main':
    mod_syslog.c:131:1: error: control reaches end of non-void function [-Werror=return-type]

Adding return values and types to `main` functions in `mod_syslog.c` and
`ferrule.c` fixed the build.
Merge branch 'nox/eunit-macros-blocks' into maint

* nox/eunit-macros-blocks:
  Wrap eunit macros into begin ... end blocks
Merge branch 'maint'
Merge branch 'weisslj/fix-inets-doc-errors/OTP-11210' into maint

* weisslj/fix-inets-doc-errors/OTP-11210:
  Fix some errors in the inets documentation
Merge branch 'maint'
Change default of erlang:halt/2 to the documented

Bug reported by Jose Valim on the erlang-bugs mailing list:
erlang:halt(0,[]) does not flush as advertised in the documentation.
Should be the same as erlang:halt(0,[{flush,true}]), but is in fact
the same as  erlang:halt(0,[{flush,false}]).
Fix UTF8String encode

To accept any nested list of codepoints and binaries. A list containing
a binary was previously misinterpreted and the documentation was
incomplete.

Also, rework codec suite slightly to be able to specify values for which
decode o encode is the identity map, for which encode should succeed,
and for which encode should fail.
Use module unicode for UTF8String encode/decode

The original code predates that module but there's no reason not to use
it now.
Simplify Address encode/decode

By using binary comprehensions. Add string-valued addresses to codec
suite.
Merge branch 'anders/diameter/UTF8String_encode/OTP-11172' into maint

* anders/diameter/UTF8String_encode/OTP-11172:
  Simplify Address encode/decode
  Use module unicode for UTF8String encode/decode
  Fix UTF8String encode
Merge branch 'maint'
Merge branch 'mmalecki/fix-solaris/OTP-11213' into maint

* mmalecki/fix-solaris/OTP-11213:
  Fix compilation on Solaris
Merge branch 'maint'
Merge branch 'pan/erlang_halt_2_wrong_flush_default/OTP-11218' into maint

* pan/erlang_halt_2_wrong_flush_default/OTP-11218:
  Change default of erlang:halt/2 to the documented
Merge branch 'maint'