Clean up the way multiple cores are instantiated.
There is still a limit of 2 cores because a more sophisticated L2 interconect is needed in gpgpu.v.  Other than that, everything else should scale to an arbitrary number of cores.