Flask.run() uses SERVER_NAME config if available.

I noticed that SERVER_NAME is used but `Flask.run()` doesn't use it. This PR enables run() to use SERVER_NAME if set and will still allow host and port to override whatever is set in SERVER_NAME.