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
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.
Merge pull request #1812 from guardian/identity-rate-limit-ip-params

Identity rate limit ip params