Implement CalculateEulerPhi()

Use it in calculateAKSUpperBound().
Keep track of an upper bound in TrialDivide
Add upperBound parameter to TrialDivide
Trial-divide up to M
Add benchmarks for isAKSWitness
Add test executables and benchmark files to .gitignore
Use log.Logger instead of fmt in aks.go
Add benchmarks for getFirstAKSWitness
Add benchmarks for getAKSWitness
Add specialized WordPoly class (for Word = uint32)
Make WordPoly implement fmt.Formatter
Add Word version of isAKSWitness and related benchmarks
Use isAKSWitnessWord() when n fits into a Word
Add benchmarks for largest 32-bit prime number
Reuse temp objects whenever possible
Separate out creation and setting of a WordPoly
Add initial version of BigIntPoly
Add BigIntPoly.Set()
Implement BigIntPoly.Eq()
Implement BigIntPoly.mul()