enable EAPI 5 support

Keep this at the top of the commit stack until full EAPI 5 tests/support
is done.
add package.accept_keywords support
Output slots and repo ids similar to current portage if verbose enabled
Use consistent indenting and whitespace
pmerge: add -O for --nodeps and -n for --noreplace to match portage
pmerge: minor help formatting changes
output pkg CPV strings for info, error, and debug messages
define T for pkg_pretend phase

Currently this still allows files to be saved into the tempdir during
pkg_pretend (similar to portage) even though PMS explicitly mentions
that pkg_pretend shouldn't write to the filesystem.
fix staticmethod and classmethod usage for resolver
drop old dbs parameter from add_atom call
only output pmerge summaries in verbose mode
minor spelling and whitespace fixes
add support for PORTAGE_COMPRESS=xz without setting PORTAGE_COMPRESS_SUFFIX
fix docinto support to use specified directories
Properly enable forced immutable flags (such as profile ABI flags)
Fix variable names (use op_type instead of type)
Add more docstrings
make keepdir an external command (bug #482130)

Also, fix recursive keepdir invocation so dodir doesn't create
directories named '-[rR]' when used.
remove DESTTREE workaround, appears to be properly used only in src_install now
install EAPI 5 bash helper scripts