Around 2m people flock to Notting Hill Carnival each year for one of the world's largest street festivals. But there is no such thing as a free lunch - or a free street party - argues James Ford