State objects checker tool
Issue: !286
To do:
1 - does not detect rearrangements of members if they were not made in FC_REFLECT
- add member offsets to their hashes (done)
2 - some important types are not reflected (f.e. account_name_type
) - find a way for compiler to tell us that we need to manually supplement them in the mechanism of type deconstruction (done)
3 - does not work on chainbase indexes - multi-layered templates that are not reflected - possibly the same problem as above (done)
4 - add simple tests on foo
classes and templates to show how mechanism works in different situations (template/not template, reflected/not reflected, private/public members, one/many template parameters...) (done)
5 - add either logging of hashing process or on-demand list of hash-influencing elements (members, their types and offsets, enum values), so it can be easily checked what changed in case some hash shows different value (done?)