Use TIME_START rather than 'now' to generate modified/created times

The former implementation of strtotime('now') meant it was not possible to ensure that timestamps created yourself would be exactly equal to the ones created by default.
It was also theoretically possible for created and modified fields to be out of sync.

Using a single point of reference, available throughout an app, resolves both these issues.

I struggled to run the full test suite without a fair hunk of errors (both before and after the change) but I was able to run all the model tests successfully :)