Revert "Remove a wrong test for copyAnnotations returning empty array."

While Maaartinus' thoughts are obviously correct (far better to use an empty array to convey 'this list-like construct has 0 items in it right now', vs. a null pointer),
eclipse actually uses null-as-empty almost everywhere, and a lot of eclipse code will simply break if you don't do it right.

This reverts commit 842a4759165c5cd05aae63da3921ee11a3641a4b.
fixed up ‘consequent boolean’ proposal with a different key name and documentation.
Fixed up and extended Tolerate with support for constructors, and added docs.
Fixed version of 842a475: Remove a wrong test for copyAnnotations returning empty array.