Create the Fraction class

I want to have very high precision when handling sweepstakes points.
Since some mechanisms use averages to handle sweeps in situations where
competitors are tied, this could lead to rational non-integer points.
So, I will use the Fraction class for all sweepstakes point arithmetic.

This object will represent a proper fraction; it is intended to be
paired with an int that represents the unit portion. It will support
additions that would create an improper fraction, and provides methods
to retrieve the unit portion. It will also work properly when using
multiple additions in a row, even when this would lead to an improper
fraction.
Add a constructor and getters to Fraction

Next is arithmetic.
Added GcdUtils
Make GcdUtils methods static (I always forget this)
Add and use the mod method in GcdUtils

The issue with Java % (as well as in many programming languages) is
well-documented; it does not represent a true mathematical modulus. This
method rectifies that.
Add simplify to Fraction
Add post-condition disclaimer to Fraction
Add note to write unit tests

Best task system in the world, I know...comments in the source code.
*bows*
gcd and lcm are now restricted to positive integers
GcdUtils.gcd: change mod() to %

Since we are using only positive integers, we can avoid the edge
behavior with the % operator on negative operands. So, we can avoid a
method call and reduce the number of operations we perform.

Performance.

Win.
I CAN HAZ UNIT TEST?!!11!?! Add GcdUtilsTest
Clarify that GcdUtils methods accept negative arguments
Specify GcdUtils.mod behavior more precisely
Writing unit tests is no longer a TODO; more like a TODONE!

See GcdUtilsTest
Fraction: Add section headers in anticipation of what is to come
Add some integer math to Fraction

I haven't started working with Fraction-on-Fraction operations; that
will be fun indeed.

Note that I use getImproperNumerator() to handle cases where a unit has
not been extracted (i.e. chained operations; an example is in the < 0
case of the pow method)
Add a mean-sounding note saying that getImproperNumerator is the law
Add additive Fraction operations
Remove some of the clunky language from the Javadoc

Specifically, removed "returns" and "a new Fraction representing." The
fact that this is a non-static return method should be evident from the
header; the "a new Fraction representing" is included in @return.
Add multiplicative Fraction-on-Fraction operations