Added random org.joda.time.LocalDate generation

Added RandomValues and DefaultRandomValues as a wrapper over java.util.Random and any other class that may help provide random values. Currently only provides random longs within a specified range. Should be given to Generator implementations.

Removed apache commons

Upgraded to junit 4.11

Added joda-time 2.4
Added additional methods to RandomValues and made RandomValues the default way of getting hold of random primitives in all generators. DefaultRandomValues currently delegates most of the work to java.util.Random but has some additional range checking.

Fixed small bug in IntegerGenerator which was calculating the upper-bound for an open range incorrectly