Add SetBlocking method.

When blocking mode is set, writing will never result in a truncated file.
Also write using blocks of 1MB maximum, and reduce write buffer from 128MB to 8MB.
Use 8MB write buffer in blocking mode, and 64MB in non-blocking mode

Ref #11801
Add methods to set blocking mode on all classes using a ThreadFileWriter internally
Bump API
Make use of ThreadedFileWriter to tools requiring it

Fixes #11801