This reverts commit 11d61c079d4b4927efea42a38a27d4586887b764 to re-apply 6836a47b7e6b57927664ec6ec750ae37bb951129 with modifications. Specifically, the errors in DWARFAbbreviationDeclaration::extract needed to be moved as they are returned to ensure the right Error constructor is selected.