Enforce object-safety when coercing to an object

Restrict which objects can be coerced to trait objects, rather than which methods can be called on a trait object.
Add `Sized?` bound to type params; add alternative using `for Sized?` rather than restricting value to reference types.
Merge remote-tracking branch 'nick29581/objects'
RFC #255 is Object Safety