Copied over ref10 sc_reduce replacing crypto_int64 and crypto_uint64 with long

The test fails (likely because all longs are signed in Java)
Handle unsigned part of sc_reduce correctly using BigInteger

The only BigInteger operations used are and(), or() and shift[Left|Right]()
(but it is possible that these are not constant time?)