Only validate format if instance value is string

Fixes a bug where validation with a given format failed when the value is not a string (but null). For example, the following schema definition:
```javascript
"type": ["string", "null"],
"format": "date-time"
```
should match to `null` as well as to a date. The format should only be validated when the value is actually a string. Just like other string-related constraints as minLength, maxLength and so on do.