Add optional headers to purge call

Fix #117.

I think this makes sense, but @dbu, please validate whether this answers to a proper use case (#117).
we should also say that you should only use this when the header varies. if its always the same (e.g. a basic authentication or similar), you should just pass in a guzzle client configured to send that header, rather than spread the logic throughout the code.