Add attributes to `std.socket`

`std.socket` now has `@safe` public API.

Also added few fixes.
> No, in such cases the function should be rewritten to have a mutable variable with copy of the argument.

Which is cruft.

> `in` isn't that big noise. The problem with D language is that it requires explicit in/const/immutable when the right choise is explicit mutable.

Phobos rules should reflect the reality of current D, not someone's idea of an ideal D.

> Anyway I'm not going to argue everything should be const except it can't rule, its too abvious and too useful for me to even have any doubts.

So you only argue when you are unsure yourself?

It's clearly not that obvious when Phobos doesn't have such a rule despite years of development and the participation of dozens of developers.