Allow nesting of batch operations when operation count is zero

In some of our projects we nest our batch operations, for example:
```objective-c
NSOperationQueue *uploadQueue = [[NSOperationQueue alloc] init];
NSArray *groupOneBatch = [AFURLConnectionOperation batchOfRequestOperations:groupOneOperations progressBlock:^(NSUInteger numberOfFinishedOperations, NSUInteger totalNumberOfOperations) {
    // Do something with progress
} completionBlock:^(NSArray *operations) {
    NSArray *groupTwoBatch = [AFURLConnectionOperation batchOfRequestOperations:groupTwoOperations progressBlock:^(NSUInteger numberOfFinishedOperations, NSUInteger totalNumberOfOperations) {
        // Do something with progress
    } completionBlock:^(NSArray *operations) {
        // All uploads complete
    }];
    [uploadQueue addOperations:groupTwoBatch waitUntilFinished:YES];
}];
[uploadQueue addOperations:groupOneBatch waitUntilFinished:YES];
```

If `[groupOneOperations count] == 0` then we can move on to `groupTwoOperations`

Closes #1493 Handle batch operations of size zero