BitTorrent Simulator: How and Why BitTorrent works