St Andrews named as Scotland’s most expensive coastal town