pretty-pretting of which and methodswith output

This patch is a continuation of #4991, for issue #4952.  It uses the `display` functionality for `which` output (so that e.g. `? 1+2` will give formatted output with a link to the code in IJulia) and for `methodswith`.

The main semantic change is that `methodswith` now returns a `Vector{Method}` instead of just printing the methods to `STDOUT` as a side-effect.  Not only does this allow us to use the `display` machinery (via new `writemime` methods for `Vector{Method}`), but it also could be useful in other contexts to have access to the list of methods found.