Fix 289 (attempt 2)

- If no precision is given to addMillisecond, use internal precision (prevent breaking tests)
- If precision is passed in and differs from internal precision, change the given milliseconds value to internal precision before adding it.