Add format and iso to date type

Replaces #428.

Moment.js is more lax about ISO 8601 on a few cases, I kept them commented in the tests so that we don't forget them.
It seems I can't be in strict mode for ISO 8601 otherwise I'd make another test fail (`2013-06-07`) so I preferred to switch it off for this case.