Safer `CallContainer` instantiation using `locals()`.

To make the `CallContainer` not depend on any local variables being
defined at the end of a call, we can use `locals`.

On one hand, this makes the attributes of `CallContainer` a bit
mysterious, but there's also no way that forward changes will break
*within* matplotlib.
Added `keep_call` kwarg to `hist` and `hist2d`.

It might be cleaner to allow `keep_call` to go into `kwargs`, but it
seems like it would then need to be added to a *known property* list
somewhere. Unless an *option* like `keep_call` doesn't philosophically
fit into matplotlib's *property list*, it would prevent extra
call-signature bloat to let it get dumped in there and `pop` it from the
`kwargs` `dict` before the end of the call to prevent mucking things up
elsewhere.