support custom implementation of BasicObject#inspect.
support custom implementation of BasicObject#inspect.

If BasicObject or a subclass of BasicObject implements #inspect,
we will try to use its return value as output but if that fails,
we'll fallback on __id__.

fixes #1341

printercu/pry,caporta/pry,scalixte-mdsol/pry,nju520/pry,ooohiroyukiooo/pry,jasonm23/pry,jasonm23/pry,geoffreylitt/pry,josue804/debunker,85x14/pry,ngpestelos/pry,scalixte-mdsol/pry,raeno/pry,pvdb/pry,printercu/pry,ooohiroyukiooo/pry,josue804/debunker,jasnow/pry,pvdb/pry,tdg5/pry,85x14/pry,shockone/pry,raeno/pry,tdg5/pry,icebreaker/pry,scalixte-mdsol/pry,85x14/pry,bronzdoc/pry,shockone/pry,jasnow/pry,tdg5/pry,nju520/pry,geoffreylitt/pry,raeno/pry,bronzdoc/pry,ooohiroyukiooo/pry,jasonm23/pry,jasnow/pry,caporta/pry,caporta/pry,gfvcastro/pry,icebreaker/pry,shockone/pry,ngpestelos/pry,gfvcastro/pry,nju520/pry