- The _flatten_() method should recursively flatten the parameter
search space into a single dict.
- The _flatten_ flag will flatten the input dicts and keyword-based
parameter (in the __init__() method only) in the expected order of
priority (where the first found keyword is the most overriding one)
into a single search dict.
potential confusion.
* Detail of the important changes:
1) by default now the function's local variables are not included in the
lookup chain. Use _localvars_ flag if you insist on doing that; but
be aware of the caveat (see Parameters' documentation).
2) the default _kwparam_ and _userparam_ names are now passed on to the
child Parameters object instead of the override values given through
the _create_ function argument.
Rationale: To begin with, the default names defined during the creation
of the parent Parameters object should be used by *all* the relevant
functions.
Overrides should be regarded as exceptional rather than common cases.
3) Value overrides (_kwparam_, _userparam_, etc.) in _create_ must now
be specified in keyword=value manner rather than as positional argument.
Rationale: Those overrides must be made conspicuous.
The keyword=value approach also makes the code more resilient to minor
API changes.
All unnamed parameters are supposed to be low-priority defaults.
* Add simple checks for _p, _opts_ default arguments in case they are not
indexable/dict-like objects. This is needed to avoid bizzare error messages
later then the Parameters object is in use.