Add test for bug #522652 with slot-operator

This test case uses || ( bar foo:= ) syntax that is forbidden by PMS.
_solve_..slot_conflicts: fix bug #510270

This fixes an IndexError in _solve_non_slot_operator_slot_conflicts
which occurs when none of the conflict packages matched a particular
atom. This typically means that autounmask broke a USE-dep, but it could
also be due to the slot not matching due to multislot (bug #220341).
Either way, don't try to solve this conflict. Instead, force all of the
associated conflict nodes into the graph so that they are protected from
removal by the conflict solver.

X-Gentoo-Bug: 510270
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=510270
runtests.sh: Update pypy target
setup.py: Update version for the release
Update NEWS and RELEASE-NOTES
emaint: Assign all module __init__.py's __doc__ to a variable intsead

Due to distutils-r1 eclass optimization level, __doc__ strings are removed, breaking the
plugin system's use of __doc__ for it's module description(s).
This causes tracebacks when trying to run emaint.

brian@big_daddy $ emaint -h
Traceback (most recent call last):
  File "/usr/lib/python-exec/python2.7/emaint", line 36, in <module>
    emaint_main(sys.argv[1:])
  File "/usr/lib64/python2.7/site-packages/portage/emaint/main.py", line 161, in emaint_main
    parser = ArgumentParser(usage=usage(module_controller))
  File "/usr/lib64/python2.7/site-packages/portage/emaint/main.py", line 78, in usage
    desc = textwrap.wrap(module_controller.get_description(mod), 65)
  File "/usr/lib64/python2.7/textwrap.py", line 354, in wrap
    return w.wrap(text)
  File "/usr/lib64/python2.7/textwrap.py", line 325, in wrap
    text = self._munge_whitespace(text)
  File "/usr/lib64/python2.7/textwrap.py", line 154, in _munge_whitespace
    text = text.expandtabs()
AttributeError: 'NoneType' object has no attribute 'expandtabs'
brian@big_daddy $

Problem found by: Zac Medico <zmedica@gentoo.org>
_compute_abi_rebuild_info: fix bug #521990

Since self._dynamic_config._slot_operator_deps only contains deps for
packages added to the graph, it doesn't contain potentially relevant
deps of installed packages that have not been added to the graph.
Therefore, generate pseudo-deps for such installed packages, and use
those to generate the rebuild info.

X-Gentoo-Bug: 521990
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=521990
Support unprivileged mode for bug #433453.

This takes the existing unprivileged prefix support and enables it to
work when EPREFIX is empty. This "unprivileged" is automatically
enabled if the current user is not root, but has write access to the
EROOT directory (not due to the 0002 bit). For use in conditional logic
(for example, see fowners diff), "unprivileged" is automatically added
to the FEATURES variable.

X-Gentoo-Bug: 433453
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=433453
create_trees: whitelist PORTAGE_DEPCACHEDIR

This fixes PORTAGE_DEPCACHEDIR to work for ROOT=/ when working with a
different target ROOT.