Fixes #6202: Ajaxifies data dir migration

I'm using relationships to mark users as having completed/failed the migration. This seemed like the easiest way to work with ElggBatch and not require maintaining a bunch of state across requests. This also makes it easy to re-start the process just for failed users.

Obviously the JS is not very DRY but I wanted to get something working quickly.