Clean up code
Two things to look for in cleaning the code up:
1. Look for places code can be generalised by looking
for duplicates. The `make dupl` command can spot
duplicate code blocks.
2. Review the `this`, `folder` and `storage` modules.
The bits of the session that are stored in `this`
should become a `Session` struct in `storage`. Then
copy most of the `folder` storage routines to the
`storage` module. Just keep data verification and
manipulation routines in `folders`.
On `this.Start` (lose the `This`) assign the
`storage.Session` object and then the higher level
`folders` routines can use that (there was a cycle
in the current layout when `storage` tried to use
`this`.
The end result of these changes would yield easier to read/understand code. And it makes the `folders` module much clearer. Though moving the verification stuff from `folders` and `users` to `verify`? But then a routine for creating a quoted message might not fit there... Hm.
issue