Extract formats into separate classes

The available (and for V4 adjusted) default formats, among those that were already implemented, are set according to the specs:
http://tools.ietf.org/html/draft-zyp-json-schema-01#section-5.19
http://tools.ietf.org/html/draft-zyp-json-schema-02#section-5.20
http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
http://json-schema.org/latest/json-schema-validation.html#anchor104

If that's Ok I would go on from here and add a mechanism to hook in custom formats.