Change Blob#from_io to not silently swallow errors.

Also fixes the issue where an error durring the call toi #read on the io object would cause unfinished blobs to be written.

@nvloff: Is this good?