Use MessageMetadataHelper caching more widely

There are a bunch of redis/riak lookups we can cache in `MessageMetadataHelper` to avoid unnecessary work.

I'm going to start with middlewares and the routing table dispatcher because that's what's hurting us the most right now.