Added action verification and verification codes.

Each Action has a set of verification codes which define the various failure
conditions of the Action, reasons that the Action was skipped, or the 'OK' status.
Verification codes are obtained from Action verification via Action.verify_can_exec()
verify_can_exec is called at the beginning of execution to obtain a verification code.
Depending on the verification code, warnings or errors may be written to stderr, and
the action may be skipped.
Checks are in place for copy actions. Cleanup for various elements of output production
in order to make warnings clear and concise.
Cleanup for CopyAction verify and added Create verification.

Verification will no longer produce an empty file when doing the writability check
for FileCopyActions, more testing takes place inside of a scratch dir for correctness,
DirCopy verification is now inspecting the source dir as well.
Includes modification of output to include the type of the warning based on the Action
class.
Added verification checks to Modify.

Verification for these is somewhat more complicated. Includes a conversion
in these modules to create synthetic actions and invoke them rather than
attempting to perform chowns and chmods directly on directory contents.
Add verification for Backups and many tests now capture stderr.

Failed verification often results in writes to stderr. IO Mocking on scratch
containers and explicit mocking in many tests is sufficient.
Backup verification is generally a variant of Copy verification.
Merge branch 'feature/action/verification-check' into dev