BigInt pure

All methods from BigInt are now pure. Apart from toString as these take delegates, which makes it harder make pure. This fixes issue 6850 and makes BigInt usable inside pure functions (remember Andreis closing talk).  To test this a unittest with a pure function was added to std/bigint.d.