Added additional version support to ebuild.install

Version can now contain <, <=, >, >=.
ebuild.install should also be able to support 'slots' being specified in
a state when using the pkgs syntax. To differentiate between versions
and slots, a slot must start with a ':' in the state.
Updated docs in pkg state to reflect new options

ebuild now supports comparisions for versions and slots
Allow Gentoo to use comparisions in check_desired
Add support for nodegroups in the publisher
Fixed quoting pkg atoms if comparision is provided
Removed doc about slots when using pkgs with pkg.installed

Although the state would install the package correctly, it failed
to detect the correct slot as being installed and would always reinstall
it. The only solution I currently see is to put os specific code in the
state to make slots work.
fix bug in available_version

Thanks to @kfdm for finding this. This commit fixes a problem with
available_version where it does not return information for packages
which are not already installed.
Merge pull request #3531 from shadowfax-chc/gentoo-pkg-improv

Gentoo pkg improv
Merge pull request #3533 from archtaku/quickfix

fix bug in available_version
Start work on #3243
finish fix #3243
Set up base interface for http style salt:// arg passing
make roots accept **kwargs
fix bug in parsing when passing env to gitfs
Set gitfs to accept **kwargs in find_file
Add missing import.
Although @thatch45 hasn't finished his work, try to fix the logic in place.
Add missing letter.
Add index resolution to roots
Fix grains for Amazon and Fedora Remix