Fix writing `DateVersionPart`s to the version file.
Fix writing `DateVersionPart`s to the version file.

BEFORE: Writing a `Version` to the version file looped over the
constituent `VersionPart`s and wrote the name and value to the file.
Unfortunately, this didn't work for `DateVersionPart`s because it wrote
the value without any wrapping quotation marks, e.g., `month = 04`
instead of `month = '04'`. This meant that the next read of the version
file would fail, as `DateVersionPart`s have to be read from `str`
values, and instead it would pick up `int` values (or sometimes it
wouldn't be valid Python, if you were on Python 3 and your value had
a leading `0`).

AFTER: Instead of writing the raw `part.value`, writing to the version
file now uses `repr(part.value)`. This doesn't break any of the
integer-based version tests, and now things like `month = '04'` work as
expected.

lgiordani/punch