Use unique_ptrs for Station
Previously, the ownership of Stations was unclear. PhasedArray contained a list a shared pointer and exposed those shared pointers via its GetStation() member. This MR clarifies the ownership, by using unique pointers for Stations. It also ensures that objects outside PhasedArray cannot modify the Stations, by having GetStation return a const reference.