Refactor reconstructions

Bare algorithms in seperate classes. Those classes should not do anything with tables and can be run by
inputting only timings and positions (angles). The input, for the analytical versions that require 3 detections as input, should be the same for each algorithm.

Make subclasses that apply cluster/station logic, getting detector positions, figuring out which positions to use, to those algorithms

Seperate classes that are smart and choose the best algorithm for some data. For instance work through a datafile and reconstruct all coincidences with > 3 events with best fit, with 3 events with analytical function and for stations with 4 detectors also reconstruct the angles.

Todo:

- [ ] Stations
- [ ] Clusters
- [ ] Coincidences
- [ ] Storage
- [ ] Best fit algorithm
- [ ] Tests