Revert recommendation to use modules for extensions.

The current suggestion causes problems in development environment (or any environment where classes are not cached).

When rails autoreloads classes it first undefines them and then redefines them. However, the modules in the `xxx_decorator` files are just re-loaded without being undefined first.  See http://git.io/22TgYQ. That works fine for the `class_eval` approach but not for the include-module approach.

This reverts commits:

- 3f78c436797a3b9b74aef4a9b3504257a93e4e76
- e344325e89a583016782367cb28b413a4628cf75
- 697ace67a5f245510c682e53bfb1b1ffcb14faca

fixes #5801
Improve admin product picker performance.

Fixes #5607