3.0 - Update label() button(), postLink() and postButton() for new widgets.

Part of #2667. This updates the methods in the title, and re-enables their tests. This unfortunately duplicates some of the work done in #2848, but I think ADmad and I can resolve any conflicts.

This also contains changes from #2842, as I based this branch off of that one.