Avoid loading migrations' code

With long running projects migrations might not load (require missing files, or worst - change models).
Rails doesn't require migrations code unless required, we should thrive to that.

This commit avoids loading migrations by checking the 'migrated' list first.
It will actually show migrations that don't belong to the shard but ran on that shard (might still want to rollback in that case, good that it appears on the list).
The second option is to declare in the configuration that the migrations are shard agnostic, which will prevent this check completely.

You can choose one of the two options, both good enough for my project.