Bangladesh's army has imposed a "shoot-at-sight" curfew across the country after days of clashes between student-led protesters and the police.