CityRepository and tests

Signed-off-by: Markus Lamm <markus Lamm@googlemail.com>