Less dangerous delete() recursive kwarg

The client ```delete()``` method supports an optional "recursive" kwarg for recursive deletion. The current implementation defaults to None, and the code explicitly tests for None. If, for example, a False value is explicitly passed the "is not None" code path would run (although the next line would catch the fact the parameter is False). A clearer default would be False rather than None.