Monte Carlo Techniques for Carrier Transport in Semiconductor Materials