repository pattern refactor branch

This is a major refactor:

use mapnik nuget package
use repository pattern in web project
remove serialization code from tilecook domain objects
move serialization code to DTO and mapper classes in web project
add test projects