Throws meaningful(ish) errors when invalid values passed to DAM

DAM's own 500 is pretty unhelpful (is routed via ft.com's user friendly 500 error html page)
@commuterjoy @matthew-andrews