4891331: BigInteger a.multiply(a) should use squaring code

throughput_with_patch / throughput_without_patch

bits ints Windows Mac OS X
32   1    0.58    0.92
64   2    0.66    0.87
96   3    0.73    0.95
128  4    0.78    0.92
160  5    0.80    0.92
192  6    1.01    0.97
224  7    0.95    0.99
256  8    1.08    1.03
288  9    1.06    1.09
320  10   1.15    1.04
352  11   1.18    1.15
384  12   1.23    1.10
416  13   1.26    1.15
448  14   1.32    1.06