Adds two new time testing methods: 'isFuture' and 'isPast'

TestCases included
Fix code & tests for isPast() and isFuture()

The methods and tests now follow coding standards and work.
Merge branch 'caketime-improvements' into 2.4

Add CakeTime::isPast() and CakeTime::isFuture().

Closes #GH-1190