gdatetime.c: Fix MSVC builds for lack of NAN items

Use a fallback for isnan() on Visual Studio 2012 or earlier, and define
NAN if it does not exist.
diff --git a/glib/gdatetime.c b/glib/gdatetime.c
index 3be4eba..e91043d 100644
--- a/glib/gdatetime.c
+++ b/glib/gdatetime.c
@@ -79,6 +79,10 @@
 #ifndef G_OS_WIN32
 #include <sys/time.h>
 #include <time.h>
+#else
+#if (_MSC_VER < 1800)
+#define isnan _isnan
+#endif
 #endif /* !G_OS_WIN32 */
 
 /**
diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c
index 4ecccb3..5f643c0 100644
--- a/glib/tests/gdatetime.c
+++ b/glib/tests/gdatetime.c
@@ -28,6 +28,10 @@
 #ifdef G_OS_WIN32
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
+
+#ifndef NAN
+#define NAN HUGE_VAL * 0.0f
+#endif
 #endif
 
 #define ASSERT_DATE(dt,y,m,d) G_STMT_START { \