Issue/6553 recursive delete

Previous PR by @windaishi #11583

- [x] Correctly delete only entries that are in the directory, if `$recursive` is set
- [x] Correctly also delete the `$this->resolveRelativePath($path)` if necessary
- [x] Add unit tests for removePath, which fail on master without this patch

Fix #6553 

@DeepDiver1975 @MorrisJobke @windaishi 

PS: Similar patch is incoming for copy() which also solves the recursion from #12594