<1> adding return statement to cereal functions because every evaluation of return type as non-void will require an explicit mention of "return <non-void-type", otherwise will be caught as compile error by our build system.
<2> putting a file for boost_optional support from https://github.com/stevehickman/cereal/blob/master/include/cereal/types/boost_optional.hpp
auto modified file
removing stuff from CMakeLists.txt that had been added to get cereal headers listed in the IDE for modification
Merge pull request #165 from ustulation/MAID-413-modify_and_update_cereal

Maid 413 modify and update cereal