BUG : don't use mutable objects as dictionary keys

Base key on the id of the transform.  This maintains
the old behavior and does not break the python hashable
object model.

changed the variable id -> pid so as to not shadow the
method `id`

Closes #2828
Merge pull request #2927 from tacaswell/clip_transform_hash

BUG : don't use mutable objects as dictionary keys