layout: Add support for read operations too.

Previously using layout files was useful for write operations only, for
reads it was ignored. This patch added layout handling for reads.

Based on the "Add -i <image>[:<file>] support" patch this one will
output the selected regions to separate files. If the optional
argument is given it is used as a file name, else the region name
will be used.

---
TODO: man page

side note: the execution path of forced reads is wrong or at least
worth a look. it does not use doit() but calls read_flash_to_file()
directly.
layout: Add support for verify operations.

This still reads the whole image in but checks only the specified regions.
docs
Ease the explicit action limitations if a layout file is given.

Everything should work apart from erases.
Improve some output messages.

 - Be more verbose on file reads via read_buf_from_file().
 - Likewise for the persistent file in dummy_init().
 - Fix the "done" printing for "Reading old flash chip contents... "
   in doit().