Replace get_app_upgrade_method with a more useful get_app_upgrade_info.

Review Request #10561 — Created May 22, 2019 and submitted — Latest diff uploaded

Django Evolution

get_app_upgrade_info() improves upon its predecessor by returning more
information about an app. Along with the preferred upgrade method, it
also returns a list of any migrations that are known to have been
applied to the app, and information on whether there are evolutions
and/or migrations available for the app.

Signature generation makes use of this to store the applied migrations
from the database, and an upcoming change for the evolver to support
migrations will use this to best determine the order of operations for
apps that contain both.

Unit tests pass on Django 1.6 and 1.11.