Integer rum gold

Rum and gold amounts are now stored as unsigned integers, rather than doubles as they were previously.  This gets rid of those strange rounding issues with the UI and also conceptually matches how we think of rum and gold (in integer amounts).  I'm pretty sure I got everything changed over but if I missed something let me know.

The ports and the ship use the exact same code, duplicated in their respective update functions, to change their rum amounts.  That's less than ideal but it works.  It could be in a common base class or a "component" as described in lecture long ago, but eh, that's more work.