Half-done changes along branch topic, still working.
Couple corrections to partially done update.
More mods, partially done ...
Finished implementation.  Did a bit of testing and it looks good.  Ports do not accumulate rum time when they're sitting at a rum limit, to avoid massive rum times building up, leading to massive rum changes when the rum amount comes off the limit.  Otherwise everything works like expected.
In previous commit rum amounts could not change when at a limit, which is a problem if a buy port is at 0 rum or a sell port is at max rum.  Refactored so that doesn't happen.
Updated the Ship class to change rum rate exactly like the Ports do now.  This code is duplicated, and probably should be in a base class or a component.
Changed all transaction events to use unsigned integers because that's what rum and gold is stored as now.
Yet another tweak that gets this working as it was intended.  Now ports and ships don't accumulate rum time when they're at the limit their rum rates are driving them to, but they DO accumulate rum time at all other times.
Merge remote-tracking branch 'origin/master' into integer_rum_gold
Changed some types to unsigned int to match how al the parameters modified by this work are now stored.  Prettied up some spacing.
Merge pull request #65 from fenaren/integer_rum_gold

Integer rum gold