[source/native] refactor eid generation code
This set of related methods clutters the native source API.
It will be better served with a dedicated eid genrator object.
Related to #3526594.
[jcr: allocate the eid generator in __init__]
Move entity cache from web.request.ConnectionCubicWebRequestBase to repoapi.ClientConnection
ResultSet._build_entity relies on an entity cache to avoid going round in
circles (stack overflow due to infinite recursion) e.g. in a postcreate script.
Clear the cache at commit/rollback time to avoid unexpected side
effects; and explicitly clear the cache in a few tests where we mix ORM
and RQL using the same connection.