PDFBOX-2576: DRY refactoring of double code, move more stuff near or to base classes

git-svn-id: https://svn.apache.org/repos/asf/pdfbox/trunk@1646972 13f79535-47bb-0310-9956-ffa450edef68