When create_directory is called with IngoreExisting is true, the function
will return success if the path provided exists, no matter if that is a
directory or not.
At the same time, the caller of the function would expect that if the
function returns success, the path provided should be a directory. Update
the function so it matches the expectation and caller doesn't need to
check if the path is a directory before using it.