up the interface to ip_mroute.c somewhat, and properly separates IP-IP from GRE. (They are similar, but they are different protocols, and should not be implemented in the same place.)