Implement reversed restrictions

If min > max clock has 2 valid ranges '0:00..max' and 'min..24:00'
Updated isValidHour and isValidMinute, changed how restrict works
Fix min/max when undefined is passed

undefined is a valid parameter for min/max - it means: no checkin on
min/max side of the range