Modularization of the `Snapshot` module

The `Snapshot` module has been made *much* more readable and modular; in this regard, useful argument/variable names has been introduced, `Snapshot.list` has been split into three different functions and render logic has been moved to the `Interpreter`.

 - `Snapshot`'s functions are now renamed to be verbs; this helps with the next point.
 - Functions in the `Snapshot` module have now useful names instead of acronyms.
 - Removed `Show` instance for `Snapshot`.
 - It's up to the `Interpreter` to show dates properly; the retrieval of local time is still an obligation of the `Snapshot` module.