Best U.S. cities with free attractions: St. Louis, Mo.