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 [https://code.djangoproject.com/ticket/23728](ticket 23728) and the [https://groups.google.com/forum/#!topic/django-developers/I3M6B-wYYd8](django-developers mailing list) for discussions.