Labour wins Hamilton, Larkhall and Stonehouse by-election