Fix macroexpand (C-c C-m) when getting expansion in multiple chunks.

We can't wipe the macroexpansion buffer each time we get a chunk of
results since some larger expansions returns as more than 1 chunk
for the same expansion and hence you only end up with the last
chunk visible if creating a new buffer each time.

This change modifies the macroexpand that shows results in separate
expansion buffer, but it doesn't fix inplace macro expansion. My
elisp skills aren't quite up to solving that problem even if I can
see what needs to be done :(