JOINDIN-475 Use Forwarded and X-Forwarded-For headers in Akismet check

JOINDIN-475

Added a new Header class that represents a Header and all of its values. This class is used by the Request class to properly set the source IP by looking for either a Forwarded header or a X-Forwarded-For header. If the Forwarded header is present, it also attempts to set the User-Agent from the values it contains.
Would we not be better off accepting a Request object here?