Added date validation to the DateRange entity

Note: Need a better way to handle entity-level validation
Fixed a bug that was causing the min file to compile improperly
Made fixes to the DateRange entity and date constraints

There were some inconsistencies with the validation, moment.js ignores
non-numeric characters so weird strings were marked as valid. Added
an extra regex check to make sure to stop unexpected expressions.
Fixing a bug in DateRange validation
Added support for sub-entity validation

Added the entity.is_entity property to identify solum entities and
added logic to recursively validate sub-entities
Fixing bug which erased some necessary changes