Introduced Budget.VersionedInputStream, an ObjectInputStream that also gives a save file version number. This is now passed to all methods/constructors involved in recreating state from a save file. This should make backward compatibility easier to maintain.