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
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.
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
Merge pull request #3534 from techhat/grains

Fix grains for Amazon and Fedora Remix
Fix logging in the salt loader to specify module tag type

Also cleaned up some formatting and got rid of a very old TODO
that has long been solved in another way