Joda time support

Added default support for most commonly used joda time types:

 - DateTime
 - LocalTime
 - LocalDateTime
 - Duration
 - Period
 - Interval

Reusing list of java types and renaming it to more generic 'supported types' naming. 

``` java
Class[] supportedTypes = {String.class, Character.TYPE, Character.class,
                Boolean.TYPE, Boolean.class,
                Byte.TYPE, Byte.class, Short.TYPE, Short.class, Integer.TYPE, Integer.class, Long.TYPE, Long.class,
                Double.TYPE, Double.class, Float.TYPE, Float.class, BigInteger.class, BigDecimal.class,
                AtomicLong.class, AtomicInteger.class,
                java.util.Date.class, java.sql.Date.class, java.sql.Time.class, java.sql.Timestamp.class, Calendar.class, 
                org.joda.time.DateTime.class, org.joda.time.LocalDate.class, org.joda.time.LocalTime.class, org.joda.time.LocalDateTime.class,
                org.joda.time.Duration.class, org.joda.time.Period.class, org.joda.time.Interval.class};
        supportedTypesList.addAll(Arrays.asList(supportedTypes));
```

Merged with changes which separated bean validation randomizer and default randomizer as well as usage of constants util.

Combination of annotations and joda types not supported for now. Will take a look into it. Unit tests provided.