Add recursive parameter to DeleteItem to allow recursive directory deletes

Changing to use System.IO.Abstractions