Tweaks to the artefact table

Add an id attribute to the table, and use humanize instead of
capitalize on the artefact.format string.
Add integration test coverage for listing artefacts

Add integration tests to cover showing a table of artefacts for
a need from the Content API.

This stubs the requests to the Content API and also tests
behaviour when the Content API is unavailable or returns an error.