Shermo: A general code for calculating molecular thermochemistry properties