COMP: gcc44 linkage error due to object file size limits

After the inclusion of double/float and 2/3 dimension templates
for the antsRegistration, the size of the object file became too
large for gcc44 on RHEL5 to be able to compile and link it successfully.

This patch does 2 things:
	1) Use explicit extern linkage for libraries and main programs
	2) Break apart the template code into more managable compilation units

As a side benefit, when doing parallel builds this will compile more
quickly.