Improve passing of IP address to ID API

This is important for endpoints that do rate limiting. It also removes
the GeoLocation header parser which wouldn't work in Frontend (since
there's no maxmind service between the user and the Frontend project).
Move client IP to idRequest object

Some refactoring of the IdApi client to make it harder to miss
important headers in API methods.

Update local dev nginx to pass X-Forwarded-For header to keep it
consistent with other envs.
Merge remote-tracking branch 'origin/master' into identity-rate-limit-ip-params

Conflicts:
	identity/app/controllers/RegistrationController.scala
nginx setup now finds the nginx folder
Added nginx.conf setup instructions
Remove clientIp arg from API calls

Since it is a duplicate of info available in a trackingData param and
tracking data is a valuable thing to be passing anyway.
Remove exposed & redundant contentApi key
Add hasItems to Front class
Add FaciaControllerTest into Facia project
Add redirectWithParameters to LinkTo object to use in both facia and front
Fix tests so redirect location expects Location to begin with slash
Remove todo
Remove FaciaTestGlobal and replace with scheduling before and after all tests
onStart was being called before each test causing long delays if the front didn't load
Change Admin ID to use http in dev and permit parameters in callback
Remove unused parts of common authentication
Optimised football Competitions.

Each request was doing a LOT of work that could have been done upfront by the background refresh.

The entire competition is now put together at refresh time and not request time.

This should help with our CPU bound issues.
Log changes to the statuses of matches
Merge remote-tracking branch 'origin/master' into facia-tests
Merge pull request #1861 from guardian/facia-tool-hide-apikey

Facia-tool: remove exposed contentApi key
Fixed CompetitionAgent test
Merge branch 'master' of github.com:guardian/frontend into football