Be more care about universe.

Here are steps we need to perform on each job type:

- FETCH:
  1) if we find fetch for upgrades, then check local packages and
  find direct upgrades ignoring locked packages
- INSTALL:
  1) if we install a single file, check for it and abort if it is
  locked
  2) add both local and remote packages to the universe ignoring
  *remote* packages for locked origins (but adding local packages)
- REMOVE:
  1) add all packages to universe, but do not add locked packages
  to the request to delete
- UPGRADE:
  procedure is similar to INSTALL