Refactor / cleanup books list screen

See BookEditPresenting and friends

This screen is buggy and the code has gotten messy. Refactor out the technical debt introduced by #204 (closed).

Use VIPER architecture.

You might be able to close several bug tickets after doing this.

Edited by Ainent