Fix an issue with memory accesses in splits that are larger than a word.

When a cache in the second part of a split has a line size that is larger
than a word and the addresses are not aligned to the line size, the cache
will read negative addresses when the split address is referenced.  This
can cause an out-of-range access to the main memory.  To deal with this,
splits now mask the addresses after transforming them.