(#16792), permit to remove all dependants packages with urpmi provider

Without this, removing some packages can be quite tedious, since urpmi
provider will fallback on rpm and rpm support to remove only 1 rpm. This commit
permit to have a behavior similar to apt provider.
(#16792) Rename urpmi `uninstall` method to `purge`.

Since using `urpme` to remove packages will remove dependencies and thus
can be fairly destructive, it seems better to prefer the less
destructive option by default. Defining this method will allow urpmi to
purge packages and their dependencies if needed.
(maint) Remove convoluted confine from urpmi provider

Commit 49d8ef280 added a rather convoluted method for checking
suitability for the urpmi provider, without emitting errors. Since this
was released in 0.23.1 Puppet has developed better ways for checking
suitability, so this confine can be removed.
(maint) Improve urpmi error reporting

The urpmi package provider was ensuring that packages were actually
installed by querying the package after the install command was run. If
that failed an exception was raised, but didn't indicate that the
package was missing after said installation. This commit improves that
error reporting.
(maint)Add basic test coverage to urpmi package provider
Merge branch 'pull-1206'

This closes GH-1206