Added expect and unexpect tags and the associated constructors. The in_place tag can not be used in Boost other than moving it to a specific namspace. Fix some issues with the change to default to E(). Added some tests using the optional syntax.
Make relational operators conformig to std::experimental::optional ones.