In obj??, display the docstring if it is not in the source.
In obj??, display the docstring if it is not in the source.

Currently, `obj??` does not display obj's docstring because it is likely
redundant with the source (which usually also includes the docstring).
However, when the docstring had been dynamically added, then it should
also be displayed by `obj??` (because it is not redundant in this case).

A reasonable way to check for this condition is to parse the source and
compare the result of `ast.get_docstring()` to the result of
`inspect.getdoc()`, as done by this PR.

ipython/ipython,ipython/ipython