Non-intrusive boost serialisation

Hi @sbinet,
I tend to disagree with your solution. It is better to have a clean struct format, and check if the struct is serialisable by looking at the serialisation code that in any case needs to be written.
In any case, what we’re trying to do here is to modify only one templetized check in order to check for the existence of any of the two possible methods proposed.
But there is also a simpler solution where we create two separate templetized tests and ask for the logical OR of both tests in DataAllocator.h and InputRecord.h, where the tests are actually applied. It ends up in modifying just 3 files instead of 1, while, your solution requires a virtual structure for all data formats.

Cheers,
Diego