extract method: _get_root()
extract method: _get_existing_file
refactor: inline variables
extract TestRoot tests to separate testcase
extract method _get_root for Test_Fake
extract fake implementation's root tests
extracted RootTests to a common test module
refactor: rename
common tests: NoParentError is not imported from fspath
use common root tests for fake testing

To get the tests passing, some modifications were required to fake's
behavior.  calling Fake() will return with a fake root external. This
patch also removes the test_new_instance_is_neither_a_file_nor_a_dir
testcase. Also added the test_root_exists test to the set of common root
tests.
use KEY_CHILDREN symbol instead of magic string constant
Merge branch 'use-common-tests-for-root-behavior'