Domain Wall Programmable Magnetic Logic