Remove Optional marker trait
The self-hosting compiler does not make use of this trait, instead it has internal knowledge about Nil being compatible with an optional type. When the self-hosting compiler has replaced the Ruby compiler, we can remove the std::marker
module and the use of std::marker::Optional
.