Algorithms for Unit-Disk Graphs and Related Problems