Covalent mechanochemistry: theoretical concepts and computational tools with applications to molecular nanomechanics.