Fix tests on windows.

strftime on windows does not support the C99 formaters I was using in the
tests. It was a good thing I used these however, since it helped me find out the fact that if
the formatting string is invalid, the "security enchanced CRT" stuff will
throw an exception from within the strftime C funtcion causing a program
abort.

Now I'm instead wrapping strftime where I disable this feature and just
show a user error instead.

Also got rid of all visual studio warnings about implicit type conversion
and unused variables.