Fixed a number of issues related to moving and renaming items

- Moving an item would cause the children to be deleted (#24) - caused by a fix to renaming done earlier
- Moving items across the boundaries of a short-path would cause odd behavior (duplicate items, deleted children, etc). This is now fixed.
- Occasional recursive delete error trapped related to directories not existing, even though existence had been checked for shortly before (race condition? I don't think Directory.Delete() is asynchronous though...either way, if GetChildReferences() encounters a nonexistant reference, it should return no children instead of throwing an exception)
Increment version to 2.0.3