Implement Request::ip()

More or less a port from L3.

I wonder about the `$default` parameter, though. Do we really need that? It almost never happens that `getClientIp()` returns nothing - basically only if an empty value for `REMOTE_ADDR` is passed from the server of if `$trustProxy` is enabled and no IP-forwarding flag is set.
What was the idea behind this parameter?