SoMaSLAM: 2D Graph SLAM for Sparse Range Sensing with Soft Manhattan World Constraints