Added ship scrapping functionality via the API. Ships can now be sold back to recoup some credits, which is essential for the upgrade flow - sell the old ship, buy the new one.

Significantly expanded the upgradeShipMachine to handle the full upgrade workflow. It now manages selling cargo, scrapping the old ship, buying the new ship at the appropriate location, and transferring the ship name. Added getUpgradingShip helper to track which ships are mid-upgrade.

Fixed the fuel calculation formula that was causing ships to miscalculate fuel needs for journeys. Also fixed various buy/sell edge cases in the trading logic.