Allow DataHeader to be read with synthetic Form Token.
This will allow to generate a synthetic DataHeaderForm Token, if an empty Token (or no Token) was stored in the DataHeader. Setting the Form Token relies on two pass writing (as in ROOT setAddress/commit), which isn't possible with all I/O backends (e.g. HDF5). This MR will also add a share IO technology to limit shared IO.
Edited by Peter Van Gemmeren