NMR techniques for quantum control and computation