refactored storage

- root commit id is no longer part of storage
- storage provides method to convert from external string representation to internal storage id