Move cpp_optional into separate directory
Add Optional to library headers
Add checks for useful c++1y features
Allow to set c++ standard
Use experimental/optional if available
Add c++1y test to travis
Ident nested preprocessor
Define a macro for deprecated attribute
Merge branch 'c++1y-checks' into use_optional
Mark deprecated functions as such