LPS-51502 put WF code together

Now that the checkOut/checkIn logic is executed in a capability, it
doesn't matter when we retrieve the file version to update.

As a preliminary step before moving the code into the capability, put
the lines closer.
LPS-51502 move logic into capability
LPS-51502 get rid of DLFileVersionReference

Now we can directly return the DLFileVersion. The code has been
simplified:

  - If the file is checked out, its WF status will be updated when
    checking-in later, so nothing needs to be done (return null).

  - If the last version was approved, then the lower level
    service (DLFileEntryService) did an auto check-in but didn't update
    the status. Return the version to update its WF status.

  - If the version wasn't checked out, it isn't approved and we're just
    going to approve it, change its status.

  - Finally, if none of the conditions are met, then we're working with
    a draft file. No need to update anything (return null).

Remove link commentaries, as both methods as logic has changed
substantially.
LPS-51502 inject WorkflowCapability

Make the wrappers implementation independent by injecting the
WorkflowCapability at construction time.
LPS-51502 move addFileEntry WF code into wrapper
LPS-51502 move check in WF code into wrapper
LPS-51502 move copyFile WF code into wrappers