Add ents/player iterators (#1731)
Adds iterators for entities and players which are read-only and cached. The main benefit to this is performance; crossing over from Lua to C and back every function call is slow and creates a new table each call.
Closes Facepunch/garrysmod-requests/issues/738.
Examples of use:
```
for i, p in player.Iterator() do
print(p)
end
for i, e in ents.Iterator() do
if e:GetClass() == "prop_physics" then e:Remove() end
end
```