Architectural

Splited functionality into different classes.
<Item> processes item data, and
<ItemListHandler> processes map of items
We now only pass iterators to map begin and end to
<ItemListHandler> and waitTillReady(). After this map data is fully processed
and <ItemListHandler> contains resulting string. Log file is written either.

Signed-off-by: Mykhailo Lysenko <mykhailo.lysenko@globallogic.com>