Add documentation for "crafting_pseudo_item" property of furniture
add documentation to iuse_actor.h and move the function body into a cpp file.
Make iuse_transform simpler:

A default constructor takes care of default initialization of the members. Defaults are good enough for everything except the target type id.
Use the automatically created copy constructor instead of writing one.
Use JsonObject::get_* for mandatory properties and JsonObject::read for optional properties.
Wrap the new iuse_transform object in a std::auto_ptr to prevent memory leaking when the json throws an exception.
Extend iuse_transform to include some often used checks.

1. fire charges available, 2. item has charges.
Add messages for this too.
remove toolarmor_off, oil_lamp_off, gasoline_lantern_off, and light_off

Their behaviour is now fully coded in the json entries.