Fixes #14799: Add vertical alignment of image in media component

The `.media-left` and `.media-right` images can now be aligned vertically via the `.media-middle` and `.media-bottom` classes. Top is the default so we did not make an explicit `.media-top` class. 

The `.pull-right/left` version still works and we left one example in the docs for testing purposes. Do you usually do that? We weren't sure how to make sure the deprecated version is still tested without keeping it in the docs.

Any thoughts? We'd love feedback.

@stubbornella, @jenndodd, & @bebepeng

Fixes #14799.
Aside from the alignment for the legacy `.media > .pull-left`, none of this needs to be nested under `.media`. The `.media`, `.media-right`, `.media-body`, etc can all be top level selectors here to avoid unnecessary specificity.