Add GDS Verify module changes

GDS Verify(IDA) project use a fork of this graphite module. It seems like a good idea to incorporate changes in to this module, with the view the Verify project dropping the fork and using only this module.

The GDS Verify additional changes are:
 - Ability to specify the user used to run the processes
 - Install from Debian package
 - Some carbon cache options
Oh that's annoying - we sometimes have the same problem in GOV.UK when we try to switch out a module we vendored in (years ago) for the latest version as an external module, so I feel your pain.

I think what we are looking for in general is a set of commits that make self-contained changes with a clear commit message saying why those changes have been made so we can track back and find the reason something is what it is.

I confess I didn't go through all the commits in the detail that @annashipman did so I haven't looked at whether that is already the case - I only stepped in to help with the acceptance tests as my machine was already setup to run them (I helped put them in).

I had a quick look and 254549e looks to be doing three things:
1. Supporting changing of the user (the majority of the diff)
2. Supporting installation from a Debian package
3. Supporting optional use of pip

I think if you could split that commit into three separate ones, it might be easier to follow at least why something is happening, even if the detail of exactly why hasrestart is necessary to support using a different user.