docs: document analysis for placeholders
test: refactor test_placeholder.py to pytest
reorg: extract pptx.parts.slidemaster

As a consequence, BaseSlide must now be public, so renamed to remove
the leading underscore.
acpt: add mst-access-slide-layouts.feature
mstr: add SlideMaster.slide_layouts
mstr: add _SlideLayouts.__len__()
mstr: add SlideMaster.sldLayoutIdLst

By retaining the access method (property) for this element, the
possibility is preserved for SlideMaster to replace the sldMaster XML
without having dangling references to the prior XML.
mstr: add _SlideLayouts.__iter__()
mstr: add _SlideLayouts.__getitem__()
mstr: deprecate .slidelayouts to .slide_layouts

Deprecated Presentation.slidelayouts as well
acpt: add prs-access-slide-masters.feature
prs: add Presentation.slide_masters
prs: add _SlideMasters.__len__()
prs: add Presentation.sldMasterIdLst

Along the way, added BaseOxmlElement to pptx.oxml.core for shared
custom element behavior
prs: add _SlideMasters.__iter__()
prs: add _SlideMasters.__getitem__()
prs: deprecate .slidemaster(s) to .slide_master(s)

Also, removed obsolete design narratives page rather than update it.
sld: deprecate slide(layout/master)

Prefer the snake-case options slide_layout and slide_master.
acpt: add sld-access-shapes.feature
docs: document slide types analysis