Compact representation of DFT vectors

Previously, 2^(n+1) bits were used to represent a number modulo Fn, which wasted memory. Now only (2^n)+1 bits are used.
Use random numbers
Add program for tuning thresholds
Update timings, mention JDK8 and JDK9
Fix int overflow
Don't print a tab character
Include squareXXX methods
Update SS and Barrett thresholds
Schoenhage-Strassen: use the same thresholds for multiplying and squaring