Refactor install to have a single options parameter

The number of parameters kept changing, and there are lots of call
sites. Now the number and order is set and should stop moving.
Refactor fetch to use an options object instead of many parameters
Refactor uninstall to use an options object instead of many parameters