Use Town pointer in Player object

Using a town pointer instead of townid and masterPos in Player. More
reduced memory footprint and allows us to update the temple position of
a town without iterating all online players in the future.