Syncing with vip

Noticed a small edge case bug in code that came down from VIP, fixed that and added tests.
Cache keys can be 45 characters max and this ensures it stays within the limit. However, I'd probably do like 'fm_tm_' . md5( "{$term_id}_{$taxonomy}" ) so it's identifiable.