Fixed #23938 -- Added migration support for m2m to concrete fields and vice versa

Ticket: https://code.djangoproject.com/ticket/23938
Okay, sorry, it looks like I probably inadvertently switched to master when I generated the migration cause it had an `AlterField` instead of Add/Delete. I guess I'm a little nervous that someone who's not paying attention might wipe their data, but I'm not sure there's any clear way to handle that so this approach looks okay to me.