Direct Answers to OP's Questions
Why my IQ plot looks the way it does/how I can fix it
The IQ plot contains frequency offsets and possibly time offsets, and has been oversampled to show many samples per symbol. To "fix it", meaning to see an expected constellation alone, the frequency and time offsets need to be removed and the result down-sampled to 1 sample/symbol with the sample at the correct time offset. See demonstration and details below with an 8PSK constellation providing further insight into this.
How I can find the carrier frequency/sample rate the meta file says frequency=0.0,but I'm not sure if that means that 0.0 is the carrier
Yes this means the carrier is intended to be DC, this is a baseband equivalent complex signal. There is however a carrier offset which is a small remaining error in carrier frequency. So in this case with frequency=0, it means DC is the reference point.
the meta file says sample_rate=1.0, does this mean 1.0Hz? that seems awfully low
It is common in sampled systems to normalize time to 1 sample instead of 1 second, which then results in "normalized frequencies". So all frequencies are then given in cycles/sample where $f = 1$ would correspond to the sampling rate (1 cycle/sample), or in radians/sample where $f = 2\pi$ would correspond to the sampling rate ($2\pi$ radians/sample.) So to convert normalized frequencies to Hz, multiply by the actual sampling rate in Hz.
What do freq_lower/upper_edge and scale mean in the meta files
I believe this is the range of occupied bandwidth (signal power above some threshold in a spectrum plot). As explained above, multiply by these numbers by the sampling rate to convert to Hz. We see from this a hint at what the frequency offset would be, approximately, as the average between upper and lower.
Further Details and Demonstration
The constellation is likely oversampled (many samples per symbol) so that we see the desired symbols as they would be on the unit circle (for a PSK or phase shift keying modulation) as well as the transition samples between symbols. Further under condition of carrier offset, the entire constellation will rotate at the offset frequency. In addition, the waveform as transmitted will often be dispersed from the ideal constellation point due inter-symbol interference (ISI) as the ideal pulse shaping filter that has no ISI is typically split between transmitter and receiver to implement a "matched filter" in the receiver. Finally it is possible that the samples as received are offset in time from the correct sampling location (time offset). A typical receiver will address all these "offsets" using recovery loops (timing recovery, carrier recovery, etc). One approach to carrier recover that I demonstrate here with an implementation block diagram which occurs after timing recovery (with the samples down-sampled to be one sample per symbol at the expected time location within each sample), is to measure the phase rotation from symbol to symbol, and use that to correct the frequency offset in a classical control loop.



