Narendra Modi names BJP president Amit Shah for the powerful home ministry while Nirmala Sitharaman gets finance.