Approximation algorithms for multiple terminal, Hamiltonian path problems