cif integration service

basic integration with CIF via the HTTP API. the json output in CIF is
slightly broken, so line 60 works some magic. everything else should be
standard.

happy for this to sit here for a while incase somebody has a cleaner solution