Use EvalContextClassPutHard for opt_dry_run and failsafe_callback
Remove namespace parameters from class putting.

Use EvalContextPutSoft/Hard
Module protocol no longer needs namespace
Search all classes in function classesmatching, not restrict to namespace
Revert "acceptance test for issue #4070"

This reverts commit fa67a50b5fc8e52c8cd71411a08963ff4ae2002c.
Merge remote-tracking branch 'tzz/feature/3283-tags-gettags-and-module-extension'
Redmine#3283: minor code cleanups
Redmine#3283: add examples of getclassmetatags and getvariablemetatags
Redmine#3283: free tags StringSet after module protocol has run
adding back inventory classes that are not easily groupable
added Errors group for classes flagging errors such as failsafe_fallback
Redmine#3991: support data containers in module protocol