Also reworking tests to cut down on the number of patches required
by sub-classing the DataLoader() class and reworking the base object's
structure a bit to allow its use
* added ability to set parents (will be used when the deps are loaded)
* added role caching, so roles are not reloaded needlessly (and for
use in detecting when roles have already been run)
* reworked the way metadata was stored - now individual attribute fields
instead of a dictionary blob
* moved old unittests for vault over to the new codebase
* reverted YAML error helpers and reverted the load() function
in parsing/__init__.py, pending a rewrite of a new YAML loader
class of some kind to encapsulate all of that
* fixed an error in in the module args parser regarding the shell/
command argument parsing, where some additional arguments were
being lost
* using inspect module instead of iteritems(self.__class__.__dict__, due
to the fact that the later does not include attributes from parent
classes
* added tags/when attributes to Base() class for use by all subclasses
* removed value/callable code from Attribute, as they are not used
* started moving some limited code from utils to new places in v2 tree
(vault, yaml-parsing related defs)
* re-added ability of Block.load() to create implicit blocks from tasks
* started overhaul of Role class and role-related code