Added parent `CallContainer` class and two subclassing objects.

Calls to plot functions like `hist`, forget about the user input.
However, this information is useful for re-binning, re-analyzing, etc.
If this information is preserved, the standard matplotlib `Figure`
object reference could be passed around queried instead of needing to
rerun python scripts.

New Containers:

`CallContainer`:

Meant to hold both user-call information (`x`, `y`, `label`, etc.) and
information generated during the plot call (`xedges`, `yedges`, `h`,
`patches`, etc.). This class is a parent class, which will be useful for
inheritance testing.

`HistCallContainer`:

A `CallContainer` meant to hold information about calls to `hist`.

`Hist2dCallContainer`:

A `CallContainer` meant to hold information about calls to `hist2d`. The
container in this instance is very useful. Though we get an `h` matrix
and a colormap, we lose the actual heights of matrix image. Again,
re-binning, seeing the number of elements in each bin, etc.

The impetus for this is having a unique figure description held in the
`Figure` object. If we have an unambiguous figure representation, we the
visualizations and the data created in matplotlib can be exported
elsewhere.
We need to update the `patches` so that the reference we pass to the container `is` the reference kept by `axes` object.