Basic CRUD for publish intents.
Gracefully handle extra fields in the input

Return a 422 witherror details instead of blowing up.
Introduce match_datetime RSpec matcher.

This handles matching times avoiding any rounding issues etc.  It also
accepts any of the various time/datetime classes, and additionally
accepts strings representing a datetime.