roverlay/overlay/, addition control: design

Prepare code for addition control:
* overlay {root,category,package_dir}: renamed add() -> add_package()
* overlay root: renamed add_to() -> add_package_to_category()
* add_package[_to_category](): require an addition_control parameter
   This is supposed to evaluate "addition overrides" based on
   packages/ebuilds already existing in the overlay.
   Additionally, package rules[1] can be used to set addition overrides.
   *** Only package rules will be fully implemented (at present) ***
* overlay package_dir, add_package() is not correctly implemented
   (does not read addition overrides from package_info and thus
   effectively ignores them)

[1] rather than requiring addition-control rules to be written manually,
roverlay will read packages/ebuilds/... from cmdline arguments / files
and create package rules on the fly.
(e.g. 'roverlay --regen-package "sci-R/sth" [--regen-only] --no-sync create')
roverlay/packagerules/: match category name

This has little use in hand-written package rule files as the
package's overlay category is unknown when processing package rules
unless it has been set by a package rule action.
However, it'll be used for converting {cmdline args,pkg list files}
to package rules.
roverlay/packagerules: addition control actions

"add-policy {force-deny,force-add,deny-replace,revbump-on-collision,default}"
See previous commits for details.
doc/rst/usage.rst: document package rule changes
db/distmap: pkgdir_make_distfile_volatile()

+ detailed exception messages
roverlay, apply_rules: check add-policy
packagerules: fix typo
distroot: do not create subdirs when renaming

replace os.sep in the repo name with "_" instead.
addition control: packagedir.add_package()

... implementation

This means that hand-written add-policy package rules are usable now.
cmdline, pkg/ebuild list file are still TODO.
addition control: rename force-add=>force-replace

There's no real "force-add".
addition control: add replace-only
addition control: logging
add-policy package rules: accept >=1 value(s)

The "force-deny","force-replace",... values get ORed.
Due to action precedence, only "force-deny" is effective even
if "revbump-on-collision",... are also set.
add COULDFIX note
addition control, rule generator: abstract

defines the implementation for creating add-policy rules
roverlay/overlay/abccontrol: get effective PKG_ mask

add get_effective_package_policy()
package rules, addition control: change "default"

... action: forcefully set overlay_addition_override to DEFAULT
addition control rule gen: partial implementation

Refinement and implementation/refinement of steps 2..5.

Todo list for the addition control generator module:
* add category, package token objects (e.g. tuples)
* step 1: read+create tokens and create the acceptor_chain -> bitmask map
* step 5: implement a package rule generator object with proper
           {category,package}_token_to_acceptor() methods

* remove SillyAdditionControlPackageRuleGenerator,
   which translates all tokens into TrueAcceptors
   (not useful anyway, just for testing while a real gen. is not implemented)
addition control rule gen: in-code documentation
use regex for PF/PN/PVR parsing

add && use regex.py from branch feature/webgui