Fix external term format BIFs on floating point middle-endian machines

This complements 933e701 (OTP-10209).

Simple error example:
1> <<131,70,63,240,0,0,0,0,0,0>> = term_to_binary(1.0, [{minor_version,1}]).
** exception error: no match of right hand side value <<131,70,0,0,0,0,63,240,0,0>>
2> 1.0 = binary_to_term(<<131,70,63,240,0,0,0,0,0,0>>).
** exception error: no match of right hand side value 5.299808824e-315

But roundtrip always works:
3> 1.0 = binary_to_term(term_to_binary(1.0, [{minor_version,1}])).
1.0
Fix erlang:phash2() on floating point middle-endian machines

This complements 933e701 (OTP-10209). Without this patch the test case
"hash_SUITE:test_phash2/1" fails.

Simple error example:
1> 77147068 = erlang:phash2(1.0).
** exception error: no match of right hand side value 50524433
Fix binary matching on floating point middle-endian machines

This complements 933e701 (OTP-10209). Without this patch the test case
"bs_match_misc_SUITE:t_float/1" fails.

Simple error example:
1> <<_,_,_,_,_,_,_,_>> = <<1.25/float>>.
<<63,244,0,0,0,0,0,0>>
2> <<1.25/float>> = <<63,244,0,0,0,0,0,0>>.
** exception error: no match of right hand side value <<63,244,0,0,0,0,0,0>>

The additional test case is added because in a former version of this
patch the ERTS_FP_ERROR_THOROUGH check for NaN/infinity was mistakenly
applied on the still word-switched double.
Fix binary construction on floating point middle-endian machines

This complements 933e701 (OTP-10209). Without this patch the test cases
"in_guard/1" and "coerce_to_float/1" in bs_construct_SUITE fail.

The added lines in bs_construct_SUITE cover all branches that were not
covered before (small and big numbers if BIT_OFFSET(erts_bin_offset) != 0).
Make emulator arguments available via the system_info BIF

erlang:system_info(emu_args)
Make ethread library information available via system_info BIF

erlang:system_info(ethread_info)
Make information about use of jump table available via system_info BIF

erlang:system_info(beam_jump_table)
Refuse to build SMP runtime by default without native atomics

Build with fallback can be enabled by passing the `configure` command
line argument `--disable-smp-require-native-atomics`
Add test cases for native atomics and jump table
Merge branch 'rickard/info/OTP-11196' into maint

* rickard/info/OTP-11196:
  Add test cases for native atomics and jump table
  Refuse to build SMP runtime by default without native atomics
  Make information about use of jump table available via system_info BIF
  Make ethread library information available via system_info BIF
  Make emulator arguments available via the system_info BIF
Merge branch 'maint'

* maint:
  Add test cases for native atomics and jump table
  Refuse to build SMP runtime by default without native atomics
  Make information about use of jump table available via system_info BIF
  Make ethread library information available via system_info BIF
  Make emulator arguments available via the system_info BIF
Fix supervisor typo

`I` should be `If`
Merge branch 'goofansu/fix-supervisor-typo' into maint

* goofansu/fix-supervisor-typo:
  Fix supervisor typo
Merge branch 'maint'
Add missing brackets to report formatting on ftp_progress process exit

When progress reporting process exits, ftp client crashes
because of missing brackets in io_lib:format argument.
Merge branch 'jw/fix-float-middle-endian/OTP-11201' into maint

* jw/fix-float-middle-endian/OTP-11201:
  Fix binary construction on floating point middle-endian machines
  Fix binary matching on floating point middle-endian machines
  Fix erlang:phash2() on floating point middle-endian machines
  Fix external term format BIFs on floating point middle-endian machines
Merge branch 'maint'
Conditionally skip process_SUITE tests that consume large amount of memory
Fix 'no previous prototype' warning for dtrace functions
Fix ‘ethr_native_rwlock_destroy’ defined but not used warning