any-order def loading, useeffect item->idef, &c

should now not matter in which order def-files are loaded (switched to
ids more). maybe should just switch to strings in the def files tbh.
useeffect moved from item to idef, more logical that way. fixed some
save/load bugs on idefs as well (e.g., not saving stuff about ranged
properly, like, at all). general angry housekeeping (which is probably
not a good thing...)