The Computational Design of Two-Dimensional Materials