Convert all code to use joda-time

- no use of Data/Calendar anywhere (except forks)
- millisecond precision supported everywhere with no truncation unless done deliberately
- additional helper functions added to DateTools to handle timestamps