Pi-algebras: an Introduction