-Heat-sinking. I needed to heat-sink the P channel MOSFETs because they were getting too hot and started smoking. I just soldered a piece of copper to it.
-It turns out the N channel MOSFETs I was using required a greater gate current than the Arduino was producing. I replaced them with logic level N channel MOSFETs.
-The NPN transistors were pulling too much current from the Arduino. To fix that I just put a 1K resistor between the pin and the base of the transistor.
So yeah, once I fixed those issues the H Bridge started H Bridging. I plan on getting this on a perfboard and installed in Alfred as soon as possible. Now to start figuring out how to program line following...