Cache entity and check name <-> id lookups

Including some code to dynamically upgrade previous Flapjack data if needed.

It's a bit hacky, but anything which removes usage of Redis's `KEYS` command has to be an improvement.

Hopefully fixes #674.
we should probably protect this code against it being run multiple times simultaneously, perhaps by using Flapjack::Data::Semaphore ... 

If an error occurs during execution of the method, or if the method is still running, the semaphore should be left and subsequent attempts to migrate should cause an exception with a useful log message