use library functions rather than methods

since I'm returning a new instance of Rational, I'd rather make these
functions rather than methods
make Print a method on Rational objects

rather than call rational.Print( someRational ) call
someRational.Print() instead

modified:   golang/rational.go
[BUGFIX] `a` is not the `max`

modified:   golang/rational.go
extract rational into a package

modified:   golang/rational.go
new file:   golang/rational/rational.go