fix(date): date filter now correctly formats high precision date-times

Fix the date filter so fractional seconds are processed correctly. For example ``{{2003-09-10T13:02:03.987654Z | date: yyyy-mm-dd ss}}`` is now formatted as ``2003-09-10 03``. Prior to this fix it was formatted as ``2003-09-10 30`` because the code treated ``.987654`` as 987.654s / 60s = 16 minutes 27.654 seconds so 27 seconds were added to the second component of the date.

The fractional seconds are rounded to the nearest millisecond.

I've also fixed a couple of tests so they work correctly when they are run in any time zone. I tested them in UTC+1300.

See:
* https://github.com/angular/angular.js/pull/989.
* https://github.com/steinjak/angular.js/commit/2df31b5e4c1e23461b62ecf9789645bcfc3451c5