maidsafe/MaidSafe — pull request #165 by ustulation (2014-10-30 06:41:56+00:00)
Title: Maid 413 modify and update cereal

`<1>` For `non-void` type deduction by `decltype`, the functions should have an explicit return mentioned. Not having this is UB and also breaks build for codes with serializing function signatures similar to the one below:
```
struct Cerealizable {
template
Archive& serialize(Archive& ref_archive) {
return ref_archive(stuff_0, stuff_1);
}

int stuff_0 {}, stuff_1 {};
};
```
Build error in GCC with `-Wall -Werror` flags.

Correcting that in cereal code.

`<2>` Adding support for boost_optional in cereal from [Link to source code]( https://github.com/stevehickman/cereal/blob/master/include/cereal/types/boost_optional.hpp)