cache codes-mapping results
Our current not-terribly-efficient implementation of codes-mapping results in some non-trivial overheads for event processing (see #68 (closed)). One potential solution is to cache the results of the mapping functions rather than call them over and over. This will make the most difference in modelnet code (dragonfly, torus if not already done), but others will of course benefit (#95 (closed) will make this a reality).