try to track void context in the optimizer

does not work yet, it seems to consider all string literals in void context.
No idea why :(
be a bit less wrong about void context detection

still does not work at all :(
fix logic error in void context detection

still has quite a fe false positives
track declaration bits in the QAST
use %!worrying mechanism for string constants in void context
give string literal QAST nodes a Match object
detect Int and Num literals in void context

Does not trigger yet, probably because they have no .node info.
Also replace the constant QAST node with a null op
give numeric constant QAST nodes a .node

now Int and Num literals warn in void context
warn when inlining constant expressions in void context
steal match widening from rakudo-debugger

now "23 + 4" in sink context reports the whole expression, not just the operator
Merge remote-tracking branch 'origin/optimizer-void-context' into nom
update ChangeLog with new warnings
Support for nqp::const.
Some pir:: => nqp:: for the setting.
warn about variables in sink context
add some type annotations to the Optimizer code
add array in regex interpolation feature

Arrays withinn regex will be treated as alternations of its elements.
Preceding | or || will change its behaviour, || means sequential alt-
ernation and | LTM, while the LTM is just a basic approach and needs
tweeking.
Warn when pure expressions are used in sink context

even if the arguments are not constant, or the expression warns.
By explicit request from TimToady++ at
http://irclog.perlgeek.de/perl6/2013-02-18#i_6469204
awesomify sink context warning text
Add int64 type.