ValueStack: annotate with JSR 305, add a new "intent annotation"

Breaking change, since now it is forbidden to add null values.
New stack implementation
Allow null values again...

And test thoroughly again
Reimplement DebuggingValueStack using delegation
Deprecate old ValueStack implementations, replace with new ones
Create CharSourceWithSink

Required while Sink<?> is still there. Makes for easier backwards compatible
changes as well.
More code changes...

Deprecate Sink<?> among others.