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.
Personally, I don't like services being aware of the outside world as represented by `Request`.