asn1_SUITE: Mend broken test_modified_x420/1

The test_modified_x420/1 test case had several problems that
prevented it to detect the bugs it was supposed to find:

1) There was a 'catch' at the top-level so that it could never fail.
2) There was a call to the now non-existing ssl_base64 module.
3) It did not test all options for the BER backend.

While at it, also clean way the remaining ?line macros and some
out-commented code.
asn1_erl_nif: Correct broken length encoding

The ber_bin_v2 backend calls a NIF function to decode all tags
and lengths. Even open types that should not be decoded will also be
decoded, which makes it necessary to later re-encode the data using
a NIF function.

The NIF function incorrectly encoded lengths.
testX420: Pass Options to the ASN.1 compiler

When the caller passed the 'der' option, it was ignored.
Don't run testX420/1 on old slow Sparc systems

One and a half hour is not enough for it to finish.
Merge branch 'bjorn/asn1/extension-addition-groups/OTP-10811' into maint-r15

* bjorn/asn1/extension-addition-groups/OTP-10811:
  Fix a bug for multiple extension addition groups
Merge branch 'bjorn/asn1/open-type-error/OTP-10805' into maint-r15

* bjorn/asn1/open-type-error/OTP-10805:
  asn1_erl_nif: Correct broken length encoding
  asn1_SUITE: Mend broken test_modified_x420/1
Prepare release
Merge branch 'maint-r15' into maint

* maint-r15:
  Prepare release
  Don't run testX420/1 on old slow Sparc systems
  testX420: Pass Options to the ASN.1 compiler
  asn1_erl_nif: Correct broken length encoding
  asn1_SUITE: Mend broken test_modified_x420/1
  Fix a bug for multiple extension addition groups
Merge branch 'maint'

* maint:
  Prepare release
  Don't run testX420/1 on old slow Sparc systems
  testX420: Pass Options to the ASN.1 compiler
  asn1_erl_nif: Correct broken length encoding
  asn1_SUITE: Mend broken test_modified_x420/1
  Revert "Prepare release"

Conflicts:
	lib/asn1/doc/src/notes.xml
	lib/asn1/test/asn1_SUITE.erl
asn1 tests: Remove obsolete duplicates of ASN.1 specs
asn1_SUITE: Don't add priv_dir to the code path

All generated and compiled code are now put into separate sub
directories below priv_dir, so there is no point in adding
priv_dir to the code path.
asn1_SUITE: Shorten the path to case-specific directory

On Windows, there is a limit to the number of characters in a
filename. Therefore, we don't want unnecessarily use any longer
path than necessary for case-specific directory. Since all test
cases that put anything into priv_dir is asn1_SUITE, it is not
necessary to include "asn1_SUITE" as part of the case-specific
directory.
Add NullTest

Was broken in some backends in R15. Make sure that we will notice
if it breaks again.
per,uper: Fix breakage of compilation of InformationFramework

Commit f16f43446a04c459486356c0b4ad517cc9201895 broke compilation
of InformationFramework for per and uper.
der: Correct code generation for checking of empty sets

The ASN.1 compiler would generate an Erlang module with
incorrect syntax for:

T DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

  Empty ::= SET {
  }

  S ::= SEQUENCE {
    e Empty DEFAULT {}
  }

END
Smoke test the 'der' option
BER: Fix broken table constraints inside a SET OF/SEQUENCE OF
Eliminate use of obsolete size/1 in generated code

It is recommended to use byte_size/1 or tuple_size/1 instead of
size/1.
asn1ct: Eliminate use of obsolete size/1

Also teach otp_SUITE:call_to_size/1 that calls to size/1 is no
longer allowed within the asn1 application.
asn1_SUITE: Remove unused code