Refine support for Install and Uninstall version requests

This changes how user can specify version limitation for Install request
and adds the same feature for Uninstall as well.

The original method might have been in some ways confusing. Extra field
affects potentially multiple packages but version is commonly specified
only for one specific package request. There is also fully supported way
to specify version limitation in dependency description. This includes
that and reuses the same code.

Also note that code that splits package name from version is improved
here. It should be more reliable now.

This change makes extra option version of Install request obsolete so it
is removed and no longer supported.

Important thing to point out is also that documentation stated that
version extra option can be also table but code never supported that. It
could always have been just single string. That means that we do not
loose any feature set.
11 jobs for missing-hash-fatam in 4 minutes and 37 seconds (queued for 3 seconds)