This allows for nested repositories, otherwise `fossil open` fails and an attempt to reinstall will remove the parent `.fossil` file as well, breaking the repository.
- Checks for fossil executable, errors if not available
- Clones fossil repositories, allowing for customized location of the artifact store (.fossil)
- Updates the package allowing the user to check out arbitrary commits, tags or branches
- Finds and removes the artifact store (.fossil) when removing the package
- Grants access to all information provided by `fossil info` stored in an a-list for use by other functions. Currently used to find checksum and to retrace the artifact store.