Introduce JDK8 date and time

This commit replaces the usage of `java.util.Date', `java.util.Calendar` and other date and time related classes in 'java.util' with the JDK8 counter parts in `java.time.*`. This commit also remove now unused `Date` helpers.