Initialize a Need API client

At startup, create an instance of GdsApi::NeedApi
and assign it to an accessor on the Panopticon
module so that it can be used in the app to make
requests.
Extend Artefact to fetch need information

Adds a method to the Artefact class called "need"
which, if the need owning service is Maslow, makes
a request to the Need API for information about the
need.

If any errors are raised by the API client, catch
these and return nil instead so that we don't break
the app.
Display basic information about a Maslow need in the form

When Artefact#need is present, display some basic
information about the user need in the artefact
form - the role, goal and benefit.

When Artefact#need returns nil - when the need
doesn't exist, isn't a Maslow need ID, or when
the Need API request fails - continue to show the
need_id form field. (The field should still be
disabled if it's a Maslow need ID as per previous
changes to Panopticon.)

This also includes some tidying up of the
artefact_edit_test.rb integration test so that
all the need tests are contained together using
consistent test data.

Cherry pick conflicts:

	app/views/artefacts/_form.html.erb
	test/integration/artefacts_edit_test.rb