instaparse based dice parser

the new dice parser uses instaparser to consume a grammer and then parse messages.
This new grammer allows for much cleaner consumption of dice expressions, that is
also markedly more expressive.

new grammer supports a lot more white space in unexpected places, as well as handling
+Ns expressions for determining successes in vs mode.
:number is now :exponent (like it should be)