Fix to scratch container for uid/gid

Replaces mock gid and uid with  mocking that makes lookups always return
the real values. This means that comparisons against the filesystem
properties (os.stat) within the scratch container always verify
correctly. Another layer of mocking is required to test failure, or such
testing should be done outside of a scratch container.
Improvements to testing coverage.

Add default verification code check to ensure that when not overloaded, the
verification code is always 'OK'. Backup test coverage, start on file/dir copy
and create test coverage.
Better output mocking
Need to patch the default 'run_log' location in addition to sys.stderr
Without this patch, sys.stderr is bound in src.settings.default_globals inside
of the defaults dict before the mocking is put in place.
Added E2E symlink testing, minor symlink bugfix

Adds first E2E tests for symlinks, specifically adds symlink copy testing. This
test identified an issue with file copy verification, which can fail by reading
the permissions of a link target, rather than the link itself. To correctly
handle this case, every file copied should be explicitly tested for link status.
Complete testing of modify and file/dir actions

Final functions focusing on testing of the configuration code are now complete,
giving 100% code coverage.
Merge branch 'testing/2.1.0-completion' into dev
Converted src tree to be PEP8 compliant

Included the revelation of an untested codepath in src.util.locations and the
addition of the necessary tests, some "pragma: no cover" for a couple of
corner cases that were originally marked as "no cover" on a single line.
Converted all unit tests to be PEP8 compliant.
Converted E2E tests to PEP8

Completes unit test conversion.
Merge branch 'refactor/pep8-compliance' into dev
Fixed readme links, changelog, and roadmap for 2.1.0 release.
Updated 2.1.0 changelog in README

Changelog for 2.1.0 now includes notes about code coverage and PEP8 compliance.
Also fixed formatting and markdown syntax to accomodate md parsing rules in most
syntax highlighters (which breakdown when "```" is used inline)
Merge branch 'documentation/readme/2.1.0-changelog' into dev
Added definitions for a FilesystemExpectation.

The basic purpose of a FilesystemExpectation is to track the state that
the filesystem will be in at the time that each action is executed.
Fix for missing import in src.expect.filesys
Added func to create expectations from existing filesys

Necessary as a basis for a filesystem expectation. Expectations are a union between
the existing state of the filesystem and the application of actions.
Improved permissions checking when converting files to expectations.
Moved "expect" to "filesys"
Added a simple definition for a base FilesysObject
Added stat method for filesys expectations.
Add 'agnostic' lookups to FilesystemExpectations

Rather than always insisting that a file is listed in the filesys expectation
when doing a lookup operation. Instead, if the lookup fails, an 'agnostic'
lookup checks the underlying filesystem. Only if the path is absent from both
will an exception be raised.