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).
Where is the `:slot` parameter coming from? It's not a parameter or property on the package type so why do we need to stub this?