made format abstract and added default_format as concrete counter part

I had to make format abstract so that i could use it for a branch in cxx-gauge

Any comments? @mortenvp, @petya2164?