Fixed #23728 -- Exit makemigrations with an error if no changes found

If no changes are found, makemigrations calls sys.exit(1). Users can use this to check for changes that need a migration as part of an automated test suite, continuous deployment, or other system.

See [ticket 23728](https://code.djangoproject.com/ticket/23728) and the [django-developers mailing list](https://groups.google.com/forum/#!topic/django-developers/I3M6B-wYYd8) for discussions.