transaction: deprecate ambiguous install function
install had overloaded meaning that wasn't properly documented and crappy default value to boot.
instead untangle the use cases on an API level at least to improve expressiveness:
-
installLinkId
may be used to install a specific linkid and consumes an unsigned of that id. it has no default id and ought to only be used when a specific id is known (e.g. the user picked one in a UI or something) -
installLatest
installs the latest downloadable entity in whatever way knewstuff finds useful. this is the primary operation mode for when the id is not known and the application simply wants to install whichever one looks good
the backing code has been slightly refactored to reduce nesting and also complexity (a bit anyway)