Accept optional leading '+' when parsing rational

bigint and rational should accept optional leading '+' when parsing from string.
It should have been `bool isPositive = !text.startsWith('-');`. I fixed it in `master` after le merge.