windows: avoid deleting non-empty reparse points
If a hg repository including working directory is a reparse point (directory
symlinked or a junction point), then using os.removedirs will remove the
reparse point erroneously. This is fixed by only removing directories if they
are empty.
% create test repository
adding a
adding b
adding c
% churn separate directories
user1 1 ***************************************************************
% churn all
user3 3 ***************************************************************
user1 3 ***************************************************************
user2 2 ******************************************
% churn up to rev 2
user2 2 ***************************************************************
user1 1 *******************************
% churn with aliases
alias3 3 **************************************************************
alias1 3 **************************************************************
user2 2 *****************************************
% churn with .hgchurn
alias3 3 **************************************************************
alias1 3 **************************************************************
user2 2 *****************************************
% churn with column specifier
user3 3 ***********************
user1 3 ***********************
user2 2 ***************
% churn by hour
06 1 ****************
09 2 *********************************
12 4 ******************************************************************
13 1 ****************