Consolidate / clean up exception types used for OS exceptions

https://issues.dlang.org/show_bug.cgi?id=13620
Shouldn't this be an assert then?