MD Settings: Fix and re-enable settings-main tests.

 - Updated cases where the code had rotten (for example functions
   that used to return synchronously now return a Promise).
 - Updated test logic where Polymer.dom.flush() was not sufficient
   anymore, to use a MutationObserer (for detecting visibility changes).
 - Re-enable tests an all platforms, for non-debug builds. Debug builds
   remain disabled.

The tests still use the real chrome.settingsPrivate API, which makes it
likely that they could flake (timeout). Will address that if it happens.


Cr-Commit-Position: refs/heads/master@{#470123}
4 files changed