I traveled to Maui and Taupo researching how to test a UI - Tests for Microsoft.AspNet.Diagnostics.Entity

Padded out functional testing and added some unit tests. Also re-enabling DatabaseErrorPage tests that were recently disabled.

Also made various TDIs (Test Driven Improvements :smile:) to the product code:
 * Added logging
 * DatabaseErrorPage now logs errors and skips if an error/exception prevents it from displaying
 * Removed DevModeOnly setting from MigrationsEndPointOptions since different environments will be handled natively in Startup.cs (still using isDevMode to set everything visible on error page but will likely remove this #733)
 * Better error handling in MigrationsEndPointMiddleware (discussed with ASP.NET folks when to throw and when to set 4xx status codes)
 * On DatabaseErrorPage, swapped ShowMigrationStatus option to ListMigrations. ShowMigrationStatus was a left over from early work where we displayed a lot of info on the page, now that's pretty much all we show. ListMigrations would be useful if you wanted to use the error page but not display any type names etc. from your code.