Partial DOIs
This PR adds a number of methods to the Article and Corpus class to allow for Article() creation from a partial DOI, including from Corpus, transformations between partial and full DOIs, as well as regex to validate partial DOIs. I added a new pytest file as well to cover these changes.
I was thinking about this for a bit… why do you ever need to validate a partial doi?
Why not validate only on dois since dois are the only things that actually have canonical representations?
That way the canonical way to do everything is always to transform the partial doi into the doi first and then validate the doi.
This seems like it introduces a lot of complexity and it's not clear to me what the wins are.