Added some friendlier interface functions for navbot

Using public interface functions provides better abstraction over forcing
subclasses to directly use internal variables.
Moved a geometry calculation in realbot out to util.geometry
Added entity ID system, reworked get_info interface

All entities now generate a unique 64-bit entity ID ("eid") upon instantiation.
This is useful for bots to track each other without having to deduce if an
entity is the same from one frame to the next.

The get_info interface no longer has stupid and redundant type-specific layers
of dicts as if it's some badly designed web JSON API.