libexpected 1.0.0 C++11/14/17 std::expected with functional-style extensions

std::expected is proposed as the preferred way to represent objects which will either have an expected value, or an unexpected value giving information about why something failed. Unfortunately, chaining together many computations which may fail can be verbose, as error-checking code will be mixed in with the actual programming logic. This implementation provides a number of utilities to make coding with expected cleaner.