unary plus/minus precedence and associativity

To make `3*x^-1` parse as `3*x^(-1)`, this sets the precedence of +u and -u lower than ^.

Additionally, it makes most sense if +u and -u are right-associative, so for example `x+--2` is parsed as `x + (-(-2))` instead of one of the -u getting applied to the x.

Fixes numbas/editor#210
Merge branch 'master' of github.com:numbas/Numbas