This change is longer than preferred, because mTemplates is a map, and as such, the notion of “variant of TX_PUBKEYHASH” is poorly supported.
TX_PUBKEYHASH_*DATA was added, but is largely to quiet compiler warnings, because it is mapped to TX_PUBKEYHASH everywhere, including Solver()’s transaction-type return value.
Intended to enable use cases such as Mike Hearn’s distributed bond markets: https://bitcointalk.org/index.php?topic=92421.0