The sound distributed version control system

Fully replace crate::Identity

This is quite a large refactor that completely removes the previous crate::Identity struct in favour of the new crate::identity::Complete, which is almost a drop-in replacement with some extra features. To accomplish this, identity::Complete has been re-worked to support all use-cases, including storage of identities both locally & remotely. Also, some implementations on identity::Complete have been re-worked to allow for greater readability, and the previously removed key_path field has been re-implemented.

Created by  finchie  on September 22, 2022
Change contents