Merge pull request #68 from Dmitry-Me/master

Clean redundant characters, factor out comparison implementation into a strategy
Made the variable names more descriptive.
Factored out integer division, in case we ever want to use other algorithms for it.
Made the integer division class more explicit in what it's doing. Also, added a division-by-zero exception, to catch it before it happens, and added exception-handling code to the procedures that use the code that potentially throws division by zero.

In addition, the exception type I used for the invalid comparison was wrong. I've corrected it here.
Merge pull request #75 from joezeng/master

Naming cleanup
Update IntegerDivider.java

Made the rounding function round towards zero instead of just down.

This resolves issue #76 in the tracker.
Loop ending should be coupled to the loop tighter for clarity.
Merge pull request #80 from Dmitry-Me/refactorloop

Loop ending should be coupled to the loop tighter for clarity.
Merge pull request #79 from joezeng/patch-1

Resolve issue #77 "Integer division done wrong"
Make conversions and doubles comparisons explicit.
Merge pull request #81 from Dmitry-Me/doublescomparison

It seems my implementation was sloppy. Thank you for making the code clearer.
Previous change broke compilation.
Merge pull request #83 from Dmitry-Me/compilationbroken

Previous change broke compilation.
Separate output generation from the loop iteration logic.
Merge pull request #84 from Dmitry-Me/separategeneration

Separate output generation from the loop iteration logic.
Comparison for equality was heavily duplicated.
Merge pull request #85 from Dmitry-Me/equalitycomparison

Comparison for equality was heavily duplicated.
Problem solution should be instantiated through factory class to make the process more adaptable.
Merge pull request #86 from Dmitry-Me/generalizesolver

Problem solution should be instantiated through factory class to make th...
Loop implementation factored out into a separate class.