Allow chunkfail callback to retry the current chunk

I've reviewed my approach from the last PR, I hope this is more appropriate. It allows for the application to track its own retry state and not lose an entire upload in the case of a single chunk failing.