CRAB, a Tool to Enable CMS Distributed Analysis