Item_factory: clear iuse function list upon reset.

Rename `Item_factory::reset` to `clear`, call it from the destructor (no change in behavior) and from the new reset function, but also (re-)initialize the object after clearing it from within reset. This means reset clears and reinitalizes the object.

I moved the lua iuse functions into the preload.lua file to make them available before the iuse function get used when loading the item definitions and added export of custom_iodine, as it was declared but not exported to the game. That should not have worked before.