Solver is an implementation of the acme http-01 challenge solver protocol
NewSolver returns a new ACME HTTP01 solver for the given Issuer and client. TODO: refactor this to have fewer args
CleanUp will ensure the created service, ingress and pod are clean/deleted of any cert-manager created data.
Present will realise the resources required to solve the given HTTP01 challenge validation in the apiserver. If those resources already exist, it will return nil (i.e. this function is idempotent).