file and line are now template arguments, this is much nicer
one needs printf style formatting for assert messsages