Fix Microsoft C warnings

Microsoft C produces copious warnings when compiling `cmaes.c`. Most of them are warnings that functions like `fopen()` and `sscanf()` "may be unsafe". Microsoft provides a standard way to turn those off with a `#define`; this PR conditionally defines that macro when compiling with Microsoft C.

The remaining warnings were
- conversion of cmaes_t's `gen` field to a `long` (see issue CMA-ES/c-cmaes#10)
- conversion of `time_t` to `double`
- calling free on a pointer to const object (see

I added explicit casts to address these. I think the `time_t` conversions are fine. An alternate solution for the `gen` field would be to redefine it as a `long` or `long long` to avoid the float/int conversions. An alternate solution for the `free()` would be not to declare fields `rgsformat` and `rgskeyar` as const.

I have tested this on Visual C 2013 and on Ubuntu 14.04 with gcc 4.8.2.
Sorry, I should have mentioned that I added that cast for consistency with the previous one, that line didn't cause a warning on Windows. By C promotion rules, without a cast it would promote the long to a double, so the comparison would be done `evo->gen < (double)(startiter+iterations)` which is the opposite of the previous conversion. That is actually OK on Windows because a 32 bit long can't lose precision when converted to a double. But, it *should* produce a warning in gcc and clang where it would have to "promote" the 64 bit long to a double, with possible loss of precision. (I tried it in both compilers though and it actually produced no warning.) 

I will remove that cast if you prefer. But I think it is better to handle long/double conversions explicitly because of the potential for compiler-dependent behavior.