Added support for milliseconds to achievement timestamps

Every profile editor out there that unlocks achievements does so down to a granularity of one second. [Someone has written a Greasemonkey/Tampermonkey script that scrapes XBox Live profiles, showing the full timestamps down to the millisecond.](http://www.trueachievements.com/forum/viewthread.aspx?threadid=3564632) On average, you'd unlock 1/1000 achievements right at .000, so if someone has a lot of unlocked achievements with 0ms, [it's a good sign they're profile modding](http://oi40.tinypic.com/xgif6.jpg). 

This patch modifies the datetime editor for the achievement timestamp to use the ISO8601 format, down to the millisecond, and added a few functions to get and set the milliseconds in the timestamps. There are a few places in the new functions where they could be merged with the old ones, like overloading a function and just having the old one call it with 0 milliseconds, or using time_t and uint reference paramters when parsing the time from the 64-bit int instead of having two separate functions, but I didn't want to step on any toes if you'd prefer to keep the old ones around.