Add better date / datetime / time validation (pull 2)

addition to #631 with update to master + timefield support