test-lib: add test_dir_is_empty()

For the upcoming submodule test framework we often need to assert that an
empty directory exists in the work tree. Add the test_dir_is_empty()
function which asserts that the given argument is an empty directory.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
!!! WIP !!! Submodules: Add the lib-submodule-update.sh test library

TODO: remove the documentation sections describing what is still missing

Add this test library which makes it easier to cover all combinations of
submodule update scenarios. This creates a repository containing a single
submodule containing all relevant submodule modifications. Later commits
will then call the appropriate test functions for all work tree
manipulating commands making sure they work as expected.

This version documents two bugs in current Git with expected failures:

*) When a submodule is replaced with a tracked file of the same name the
   submodule work tree including any local modifications (and even the
   whole history if it uses a .git directory instead of a gitfile) is
   simply removed.

*) Forced work tree updates manipulate the work tree of a submodule that
   has been removed in the superproject's work tree.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>