Use size_t type for index instead of uint64_t.

This avoids

	warning C4244: 'argument' : conversion from 'uint64_t' to 'unsigned int',
	possible loss of data

when using MSVC and generally seems more reasonable.
Explicitly remove non-existent parser assignment operator.

This silences MSVC

warning C4512: 'cpptoml::parser' : assignment operator could not be generated
Fix out of bound indices in parse::is_date().

Don't access possibly invalid indices in to_match string. This happily
accessed out of bound memory when parsing something as simple as "foo = 1", so
check the string length first, before looking at its contents.
Always print the dates with UTC time zone.

struct tm doesn't contain time zone information on all platforms (notably not
with Microsoft Visual C++ compiler), so using "%Z" format specifier with
strftime() when printing it out is wrong, as the members always contain broken
down UTC time representation, but "%Z" would append the local time zone name.
Make the check for date validity more robust.

This avoid false positives such as recognizing "::::-::-::T--:--:--Z" as a
date -- and then failing to parse it, of course.
Remove unportable and unnecessary time zone fix up code.

The code using setenv("TZ") doesn't compile when using Microsoft Visual C++
compiler as it doesn't have this (POSIX) function. And if it compiled, it
still wouldn't work as changing TZ environment variable doesn't work as
expected by this code under Microsoft Windows. And it seems to be totally
unnecessary anyhow, as we are working with the broken down time representation
which is already in UTC and not time_t anyhow.

So just remove it, not doing this doesn't change struct tm contents at all.
Merge pull request #2 from vadz/msvc-fixes

Build fixes for MSVC 12 (a.k.a. MSVS 2013) compiler.