Ryan Hall sets new American record for the Boston Marathon