add example for BasicObject, update old examples expect to raise TypeError not any Exception
if Object which should be coerced is of class BasicObject, don't try to call #inspect on it
check if object where coercion failed reponds to inspect before raising with obj.inspect
Merge pull request #3070 from Benny1992/master

BasicObject Coercion