The amazing button class override patch, with tests.

Setup default mappings to mw styles for various button types.
New tour button spec flagType.  Default behavior is to mark
everything as progressive aside from back and link buttons.
All button types including custom buttons can be flagged by explictly
defining the button and setting flagType property. Currently supports:
primary, progressive, constructive, and destructive types.
Additionally, custom buttons now have base mw-ui-button styles.

Change-Id: I32d7f8c8fa38c9f334c3ea28e96d4d83a9f5fe6e
Merge "The amazing button class override patch, with tests."