Stock: add Waypoint list and support functions.
Waypoint:
- Use an unordered_set instead of a vector for the Building list.
- Add functions add_building(), add_buildings() and remove_building().
- Add operator string().
cfg/waypoints.csv: change format (add building name).
InputDataReader handles all data input, i.e. data needed to prepare
computation (topology, calibration measurements, etc.).
TopologyReaderCSV reads topology from a CSV file (just Building and Area
for the moment).
cfg/topo.csv: change format (add building name and reorder coordinates).
UserInterface: add data input options.
posexcept: add data input exceptions.