Break licence_details methods out into separate class

I'm not 100% convinced this is the right abstraction, but these methods
are complex and there's more than one of them filling up the controller
so they need to be extracted and refactored somehow. I'm going to go with
this abstraction and see where it takes me.
Rename LicenceDetails#build to LicenceDetails#from_artefact for clarity
Begin breaking LicenceDetails#from_artefact into smaller methods
Move LicenceDetails class out to its own file
Rename class to LicenceDetailsFromArtefact and refactor

This class has a very specific purpose, so let's name it accordingly.
Remove extraneous return statement
Enumerable#detect is more idiomatic and more performant than Enumberable#select.first
No need to hand licence around - it's an instance variable
Add TODO note about potential future refactoring
Merge pull request #286 from alphagov/refactor-licence-details

Refactor licence details