Output utc timestamps

Re-edit of previous patch
Well there are a few things at work here. One: by NOT requiring specifically a JS date object, you can specify a string that will be converted to a JS Date object, or a unix epoch time integer; these will be converted appropriately.

In the previous behavior, if you were to supply a valid ISO string or an epoch timestamp, the current time would instead be logged, which makes no sense. Since a timestamp IS logged, it may not be obvious that the timestamp being logged is not what the user actually intended.

Defaulting to the current time if no timestamp is given makes sense, but defaulting to the current time if an *invalid* time is given is problematic.