Move expected<T> to the optional component header (issue #14)

Tests are currently failing due to a segmentation fault, this obviously
needs to be resolved before it is considered fully moved.