Multi-spin coding: A very efficient technique for Monte Carlo simulations of spin systems