Fix for 4251

- Add single_parens check to shred module
Create release v25.1
Merge branch 'release-v25.1' into develop
Have pip to use DPLA mirror of Zepheira zenpub
Changed database export's use of views (7155)

- Generally refactored much of export_database.py; made it use
  couch module for views.
- Refactored couch.Couch methods that query a provider's docs,
  and use the built-in _all_docs view.
- Added couch.Couch.dpla_view and couch.Couch.all_dpla_docs
- Removed dpla database view all_provider_docs/by_provider_name
- Removed dpla database view export_database/all_source_docs
- Added dpla database view export_database/profile_and_source_names
Modified export_database to output "doc" property (7155)

The last commit got rid of some of the properties in each record
in the JSON.  This is eventually what we want to do, but, for
now, in order not to break existing code using these files, I'm
putting back the "doc" property.
https://issues.dp.la/issues/7155#note-53
Changed author and email in setup.py
Bumped version to 26.0
Merge branch 'release-v26.0' into develop
Removed operations on aggregatedCHO from Smithsonian profile (4586)
Deleted line that should have been removed in last commit.
Add validation against MAPv3 JSON Schema (refs #7289)

The validation process adds a 'valid_on_enrich' sub-property
to the 'admin' property in each record, against which we can
generate a view.

This could also be the basis for a mechanism to filter out invalid
records from API queries at some point in the future.
Views to generate reports for record validation (refs #7319)
Fix property name used by validation views (refs #7319)
Removed annoying print_error_log() calls from test_enrich_date
Added parsing capabilities to enrich_earliest_date (7520)

Added extraction of dates from timestamps.
Added parsing of uncertain date ranges, delimited by ".."
Improve robustness of MAPv3 JSON schema (refs #7289)

* ingestDate cannot be typed as json-schema type date-time, since it
is not RFC 3339 compliant
* specType can be definitions.arrayOrString
Reinstate human-readable byte count to bulk-file database record
Refactor validation process (refs #7289)

Validation now will end up setting one of 3 values for
admin.valid_after_enrich:

* true - if instance validates
* false - if instance does not validate
* null - if something else unexpected happens or fails

In additon, this adds a new property, admin.validation_message
containing the *first* error message reported by python-jsonschema
Merge commit '14fc8ffc5f86de064ee633c19ebd82a67e2bdb56' into develop