Make Promise.Bool a multi

otherwise "so Promise" dies
a tiny speedup for auto-generated attribute accessors
Make .end a multi
Make .Int a multi
Add types to signature and make multi

Fix several cases where Type.method would give a "cannot access attribute in
a type object": should that happen now, it should give you a "cannot find
candidate", or should just work.
Update synopsis link to design.perl6.org
commit to trait mods to avoid misleading messages
highexpect should not survive whitespace at least

Highwater expectations should be reset as soon as we've committed to a match at
a particular position.  In lieu of proper commit semantics, we'll at least reset
on whitespace for now.
Add tests for advent days #13/#16
throw ex for usage of $foo before $^foo in sub body (RT #123470)
Introduce sub form of unique, deprecate sub uniq

Deprecated since 2014.12 because it currently shows a deprecation warning
from calling the deprecated mesage uniq.
update ChangeLog
Give promise-related exceptions more information

some of that is not visible in the error message, but it might still be useful
for a deeper analysis
Include reference to Channel object in Channel-related errors
implement trait "is hidden_from_USAGE"

MAIN candidates marked with this trait will not appear in the USAGE message
Add helper sub NOT_ALL_DEFINED_TYPE
Add proper type checks on anyof/allof
add new trait to highexpect list
Add sanity test on Supply.merge/zip/zip-latest
move check for post decl placeholder to add_param helper

This is a more direct theft^Wtranslation of std, and it will show the eject near the
polaceholder and not right after the entire block/routine the placeholder is in.