Fix bug where we would try to delete non-empty directories.

Apparenty Directory.GetFiles just gets files, and ignores sub-folders.
We only want to delete a directory if it's completely empty.
InstallList: No longer download files inside a transaction.

Apparently transactions in C# have mandatory timeouts. At most, these
can be extended to 10 minutes. Rather than cause users who aren't on
fibre to experience suffering, we now don't start our transactions until
we actually begin to install the mods.
Merge pull request #258 from pjf/tx_fixes

Fix transaction timeouts and directory removal.