Labour has held on to Keswick in a Cumberland Council by-election despite a surge in the Conservative vote share.