updates to pathlocation and graphtile for loki

`pathlocation` updates were just to make it easier for `loki` and others to make use of the object.

all of the `graphtile` updates were simply clean up items, changing `int` to `size_t`, using c++ style casts instead of c casts, using array operators on arrays instead of pointer arithmetic
its really convenient to know what the tile id is of a given tile so we keep that information now