Notorious money-sucking cities like New York and San Francisco make the list, but so do some quite unexpected contenders.