Add slot support for portage package provider.

This PR adds support for slotted packages on Portage-based systems.

With Portage it's possible to install multiple versions of some packages, e.g. dev-lang/ruby.
To facilitate this a colon and the version 'slot' is appended to the package name, e.g. dev-lang/ruby:1.9 or dev-lang/ruby:2.0.

This PR can be applied to older versions, including the latest stable version available on Gentoo (3.4.1).
Shadowing outer local variable - `version_and_slot`.<br>Prefer `detect` over `find`.<br>Line is too long. [99/80]