Front end tweaks for first_published changes.

* JS correctly preserves existing values for time fields
* Better styling for errors and labels
* Improved error message.
* Tests for JS.