Staff placement code has been modified to only count guests who are on path tiles.
If all guests in the park are off paths, then the park entrance is used as a fallback.
This also makes it so that when a surface is cut off by the clip height, the neighbour tiles will draw the edges too, making the surface appear as a pit instead of a blank tile.
I've renamed some of the variables and added a few comments to make the code easier to understand. I've also left a todo comment for a future improvement - the current call isn't expensive so it won't become a bottleneck in the meantime.
gcov 8 outputs **a lot** (gigabytes) of messages like
```
test_tile_elements.dir/test/tests/TestData.cpp.gcno:'main' has arcs to entry block
test_tile_elements.dir/test/tests/TestData.cpp.gcno:'main' has arcs from exit block
test_tile_elements.dir/test/tests/TileElements.cpp.gcno:'main' has arcs to entry block
test_tile_elements.dir/test/tests/TileElements.cpp.gcno:'main' has arcs from exit block
test_tile_elements.dir/test/tests/TileElements.cpp.gcno:'_ZNK9__gnu_cxx13new_allocatorIcE8max_sizeEv' has arcs to entry block
test_tile_elements.dir/test/tests/TileElements.cpp.gcno:'_ZNK9__gnu_cxx13new_allocatorIcE8max_sizeEv' has arcs from exit block
test_tile_elements.dir/test/tests/TileElements.cpp.gcno:'_ZN9__gnu_cxx13new_allocatorIcE8allocateEjPKv' has arcs to entry block
test_tile_elements.dir/test/tests/TileElements.cpp.gcno:'_ZN9__gnu_cxx13new_allocatorIcE8allocateEjPKv' has arcs from exit block
```
which we cannot alleviate, but they overload Travis' log size of 4MiB
causing the jobs to get killed.
This will simply silence those messages.
- Use `= 0` for initializing types
- Add default values to some structs, instead of zero-initializing their instances with `{}`
- Use `std::make_unique` in Network.cpp
- Remove trivial constructors and destructors
- Improve readability of expression in Vehicle.cpp