implement new object safety rules

r? @nikomatsakis 
Similarly, is it possible to provide a blanket `impl` for any `Reader`?